]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm save: Fix potential assert-crash if saving failed
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 3 Jun 2024 19:46:51 +0000 (22:46 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 4 Jun 2024 20:19:12 +0000 (20:19 +0000)
The input stream may not have been fully read at failure time.

Fixes:
Panic: file doveadm-mail-save.c: line 91 (cmd_save_to_mailbox): assertion failed: (input->eof)

src/doveadm/doveadm-mail-save.c

index 8b8990724ca3bd8031eb8d0b844ef80c8d3d141b..35745eba76175ad61a67d095491f1fc75d7bbcf7 100644 (file)
@@ -88,7 +88,7 @@ cmd_save_to_mailbox(struct save_cmd_context *ctx, struct mailbox *box,
                mailbox_save_cancel(&save_ctx);
        if (trans != NULL)
                mailbox_transaction_rollback(&trans);
-       i_assert(input->eof);
+       i_assert(ret < 0 || input->eof);
        return ret < 0 ? -1 : 0;
 }