From: Stephan Bosch Date: Tue, 24 Mar 2020 11:13:43 +0000 (+0100) Subject: lib-smtp: smtp-server-command - Guarantee that non-destroy hooks aren't called for... X-Git-Tag: 2.3.11.2~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc9681ee5c55a738ea512bc771a0c23e8e3e1994;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: smtp-server-command - Guarantee that non-destroy hooks aren't called for an ended command. --- diff --git a/src/lib-smtp/smtp-server-command.c b/src/lib-smtp/smtp-server-command.c index 1ae190e373..c9b551b6ac 100644 --- a/src/lib-smtp/smtp-server-command.c +++ b/src/lib-smtp/smtp-server-command.c @@ -394,8 +394,11 @@ bool smtp_server_command_call_hooks(struct smtp_server_command **_cmd, struct smtp_server_command *cmd = *_cmd; struct smtp_server_command_hook *hook; - if (type != SMTP_SERVER_COMMAND_HOOK_DESTROY) + if (type != SMTP_SERVER_COMMAND_HOOK_DESTROY) { + if (cmd->state >= SMTP_SERVER_COMMAND_STATE_FINISHED) + return FALSE; smtp_server_command_ref(cmd); + } hook = cmd->hooks_head; while (hook != NULL) {