From: Aki Tuomi Date: Fri, 29 Sep 2017 06:42:48 +0000 (+0300) Subject: doveadm-mail: Handle parse_arg return value X-Git-Tag: 2.3.0.rc1~940 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d12457b69c81eb520e0abe38ace5f49143cca0d;p=thirdparty%2Fdovecot%2Fcore.git doveadm-mail: Handle parse_arg return value Invalid parameters did not cause error. Broken in fa6b2cbb3 --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index ccf644874d..a611ee7e33 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -1050,7 +1050,12 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(struct doveadm_cmd_context *cctx) mctx->pool, "-%c", arg->short_opt); optarg = (char*)arg->value.v_string; - mctx->v.parse_arg(mctx, arg->short_opt); + if (!mctx->v.parse_arg(mctx, arg->short_opt)) { + i_error("Invalid parameter %c", arg->short_opt); + doveadm_mail_cmd_free(mctx); + doveadm_exit_code = EX_USAGE; + return; + } array_append(&full_args, &short_opt_str, 1); if (arg->type == CMD_PARAM_STR)