]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: cmd-urlfetch - Prevent assertion failure upon error in urlfetch callback.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Thu, 1 Dec 2022 19:54:02 +0000 (20:54 +0100)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 20 Feb 2023 09:21:45 +0000 (09:21 +0000)
Panic was:

Panic: file imap-client.c: line 988 (client_command_free): assertion failed: (!cmd->executing)

src/imap/cmd-urlfetch.c

index 8508a0145d59aae8e97589e6fd2a158d9d83f7e5..8241d99b89afa73fcac10caed763c9809897b428 100644 (file)
@@ -284,7 +284,8 @@ cmd_urlfetch_url_callback(struct imap_urlauth_fetch_reply *reply,
        if ((last && cmd->state == CLIENT_COMMAND_STATE_WAIT_EXTERNAL) ||
            ret < 0) {
                cmd_urlfetch_finish(cmd);
-               client_command_free(&cmd);
+               if (!cmd->executing)
+                       client_command_free(&cmd);
        }
        if (!in_io_handler)
                o_stream_uncork(client->output);