]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Fix assert-crash when client is disconnected during a long COPY/MOVE
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 28 May 2018 07:32:21 +0000 (10:32 +0300)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 14 Aug 2018 11:18:49 +0000 (14:18 +0300)
Similar fix than 481992bfe2740bdec70fcd7366dea50ed9128966

Fixes:
Panic: file cmd-copy.c: line 50 (fetch_and_copy): assertion failed: (o_stream_is_corked(client->output))

src/imap/cmd-copy.c

index 567cc65649f8b48f8a31d2e80077ede1122010c3..9e050629c23924df29c70f019d16cfc593d2dc6d 100644 (file)
@@ -47,7 +47,8 @@ static int fetch_and_copy(struct client_command_context *cmd, bool move,
        string_t *src_uidset;
        int ret;
 
-       i_assert(o_stream_is_corked(client->output));
+       i_assert(o_stream_is_corked(client->output) ||
+                client->output->stream_errno != 0);
 
        src_uidset = t_str_new(256);
        msgset_generator_init(&srcset_ctx, src_uidset);