summaryrefslogtreecommitdiff
path: root/src/mscp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscp.c')
-rw-r--r--src/mscp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mscp.c b/src/mscp.c
index 9ba7f83..46e714c 100644
--- a/src/mscp.c
+++ b/src/mscp.c
@@ -26,7 +26,7 @@ struct mscp {
int *cores; /* usable cpu cores by COREMASK */
int nr_cores; /* length of array of cores */
- sem_t sem; /* semaphore for conccurent
+ sem_t sem; /* semaphore for concurrent
* connecting ssh sessions */
sftp_session first; /* first sftp session */
@@ -193,6 +193,10 @@ static int validate_and_set_defaut_params(struct mscp_opts *o)
if (o->max_startups == 0)
o->max_startups = DEFAULT_MAX_STARTUPS;
+ else if (o->max_startups < 0) {
+ mscp_set_error("invalid max_startups: %d", o->max_startups);
+ return -1;
+ }
if (o->msg_fd == 0)
o->msg_fd = STDOUT_FILENO;
@@ -219,8 +223,9 @@ struct mscp *mscp_init(const char *remote_host, int direction,
mprint_set_severity(o->severity);
- if (validate_and_set_defaut_params(o) < 0)
- goto free_out;
+ if (validate_and_set_defaut_params(o) < 0) {
+ return NULL;
+ }
m = malloc(sizeof(*m));
if (!m) {