diff --git a/src/controller/main.c b/src/controller/main.c index 88a21fca..770b9757 100644 --- a/src/controller/main.c +++ b/src/controller/main.c @@ -70,9 +70,13 @@ static error_t parse_opt(int key, char* arg, struct argp_state* state) break; case OPT_CONF_KEEP_N: arguments->conf_keep_n = atoi(arg); + if (arguments->conf_keep_n < 1) + argp_error(state, "--conf-keep-n must be >= 1 (got: %s)", arg); break; case OPT_CONF_STALE_TIMEOUT: arguments->conf_stale_timeout = atol(arg); + if (arguments->conf_stale_timeout < 0) + argp_error(state, "--conf-stale-timeout must be >= 0 (got: %s)", arg); break; default: return ARGP_ERR_UNKNOWN;