From 53b3b9f55b29fe51e65c3ea746a1ec3625d16d64 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Fri, 25 Sep 2020 03:29:53 +0200 Subject: [PATCH] lib-smtp: smtp-client-transaction - Make smtp_client_transaction_rcpt_replied(NULL) a no-op. --- src/lib-smtp/smtp-client-transaction.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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) -- 2.47.3