From b4bfd8ab6f22acab7747416b7f14aa8359193e84 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 7 May 2020 12:58:14 +0300 Subject: [PATCH] submission-proxy: Add asserts to clarify pending_auth's lifetime --- src/submission-login/submission-proxy.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/submission-login/submission-proxy.c b/src/submission-login/submission-proxy.c index 37dae6aca7..3fa99577f7 100644 --- a/src/submission-login/submission-proxy.c +++ b/src/submission-login/submission-proxy.c @@ -391,10 +391,9 @@ int submission_proxy_parse_line(struct client *client, const char *line) return 0; } - if (subm_client->proxy_reply == NULL) { - subm_client->proxy_reply = smtp_server_reply_create( - command, status, enh_code); - } + i_assert(subm_client->proxy_reply == NULL); + subm_client->proxy_reply = smtp_server_reply_create( + command, status, enh_code); smtp_server_reply_add_text(subm_client->proxy_reply, text); if (!last_line) @@ -462,10 +461,7 @@ submission_proxy_send_failure_reply(struct submission_client *subm_client, const char *reason ATTR_UNUSED) { struct smtp_server_cmd_ctx *cmd = subm_client->pending_auth; - if (cmd == NULL) - return; - subm_client->pending_auth = NULL; switch (type) { case LOGIN_PROXY_FAILURE_TYPE_CONNECT: case LOGIN_PROXY_FAILURE_TYPE_INTERNAL: @@ -473,10 +469,13 @@ submission_proxy_send_failure_reply(struct submission_client *subm_client, case LOGIN_PROXY_FAILURE_TYPE_REMOTE: case LOGIN_PROXY_FAILURE_TYPE_REMOTE_CONFIG: case LOGIN_PROXY_FAILURE_TYPE_PROTOCOL: + i_assert(cmd != NULL); + subm_client->pending_auth = NULL; smtp_server_reply(cmd, 454, "4.7.0", LOGIN_PROXY_FAILURE_MSG); break; case LOGIN_PROXY_FAILURE_TYPE_AUTH: /* reply was already sent */ + i_assert(cmd == NULL); break; } } -- 2.47.3