From: Stephan Bosch Date: Mon, 10 Jan 2022 00:18:56 +0000 (+0100) Subject: lib-smtp: smtp-client-transaction - Prevent recursion for smtp_client_transaction_fai... X-Git-Tag: 2.3.19~135 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ccec52a52d9778c89abcdae1754978b227bac6b;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: smtp-client-transaction - Prevent recursion for smtp_client_transaction_fail*(). --- diff --git a/src/lib-smtp/smtp-client-transaction.c b/src/lib-smtp/smtp-client-transaction.c index 54192b382b..43baac7e86 100644 --- a/src/lib-smtp/smtp-client-transaction.c +++ b/src/lib-smtp/smtp-client-transaction.c @@ -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));