]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: smtp-client-transaction - Prevent recursion for smtp_client_transaction_fai...
authorStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 10 Jan 2022 00:18:56 +0000 (01:18 +0100)
committerMartti Rannanjärvi <martti.rannanjarvi@open-xchange.com>
Fri, 21 Jan 2022 07:36:12 +0000 (09:36 +0200)
src/lib-smtp/smtp-client-transaction.c

index 54192b382b0a7cafd929dd4582781baff10585b8..43baac7e86e97ed50caa362d50ca0064b825458b 100644 (file)
@@ -730,6 +730,11 @@ void smtp_client_transaction_fail_reply(struct smtp_client_transaction *trans,
                reply = trans->failure;
        i_assert(reply != NULL);
 
+       if (trans->failing) {
+               e_debug(trans->event, "Already failing: %s",
+                       smtp_reply_log(reply));
+               return;
+       }
        trans->failing = TRUE;
 
        e_debug(trans->event, "Returning failure: %s", smtp_reply_log(reply));