From: Stephan Bosch Date: Fri, 25 Sep 2020 01:29:53 +0000 (+0200) Subject: lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL... X-Git-Tag: 2.3.18~123 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53b3b9f55b29fe51e65c3ea746a1ec3625d16d64;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL) a no-op. --- diff --git a/src/lib-smtp/smtp-client-transaction.c b/src/lib-smtp/smtp-client-transaction.c index 4f2570130b..296368f003 100644 --- a/src/lib-smtp/smtp-client-transaction.c +++ b/src/lib-smtp/smtp-client-transaction.c @@ -330,6 +330,11 @@ smtp_client_transaction_rcpt_replied( const struct smtp_reply *reply) { struct smtp_client_transaction_rcpt *rcpt = *_rcpt; + + *_rcpt = NULL; + if (rcpt == NULL) + return; + bool success = smtp_reply_is_success(reply); smtp_client_command_callback_t *rcpt_callback = rcpt->rcpt_callback; void *context = rcpt->context; @@ -341,9 +346,9 @@ smtp_client_transaction_rcpt_replied( rcpt->finished = !success; if (success) - smtp_client_transaction_rcpt_approved(_rcpt); + smtp_client_transaction_rcpt_approved(&rcpt); else - smtp_client_transaction_rcpt_denied(_rcpt, reply); + smtp_client_transaction_rcpt_denied(&rcpt, reply); /* Call the callback */ if (rcpt_callback != NULL)