]> 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)
committerMarkus Valentin <markus.valentin@open-xchange.com>
Tue, 3 Dec 2024 13:36:36 +0000 (14:36 +0100)
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 d8312c8227bdf2fd60bdce8c9332962e6ef1d5b5..dff2abe071855ed3f315da21297a0508fabfd363 100644 (file)
@@ -77,7 +77,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;
 }