From: Timo Sirainen Date: Thu, 10 Dec 2020 08:54:25 +0000 (+0200) Subject: doveadm batch: Fix assert-crash that happened when it was attempted to be used X-Git-Tag: 2.3.17~400 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6192e2a19646dbb627fec0a66ce125610fdea2cf;p=thirdparty%2Fdovecot%2Fcore.git doveadm batch: Fix assert-crash that happened when it was attempted to be used Fixes: Panic: file mail-storage.c: line 1067 (mailbox_set_reason): assertion failed: (reason != NULL) --- diff --git a/src/doveadm/doveadm-mail-batch.c b/src/doveadm/doveadm-mail-batch.c index 2f15ad17ab..b9eb909329 100644 --- a/src/doveadm/doveadm-mail-batch.c +++ b/src/doveadm/doveadm-mail-batch.c @@ -55,7 +55,6 @@ cmd_batch_add(struct batch_cmd_context *batchctx, { struct doveadm_mail_cmd_context *subctx; const struct doveadm_cmd_ver2 *cmd_ver2; - struct doveadm_mail_cmd tmpcmd; const struct doveadm_mail_cmd *cmd; const char *getopt_args; int c; @@ -65,11 +64,12 @@ cmd_batch_add(struct batch_cmd_context *batchctx, if (cmd_ver2 == NULL) cmd = doveadm_mail_cmd_find_from_argv(argv[0], &argc, &argv); else { - i_zero(&tmpcmd); - tmpcmd.usage_args = cmd_ver2->usage; - tmpcmd.name = cmd_ver2->name; - tmpcmd.alloc = cmd_ver2->mail_cmd; - cmd = &tmpcmd; + struct doveadm_mail_cmd *dyncmd = + p_new(batchctx->ctx.pool, struct doveadm_mail_cmd, 1); + dyncmd->usage_args = cmd_ver2->usage; + dyncmd->name = cmd_ver2->name; + dyncmd->alloc = cmd_ver2->mail_cmd; + cmd = dyncmd; } if (cmd == NULL)