From: Stephan Bosch Date: Wed, 27 Dec 2017 15:22:22 +0000 (+0100) Subject: lib-smtp: server: Protect smpt_server_connection_start() from being called multiple... X-Git-Tag: 2.3.9~2572 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f091dd12d19df22e5403855f93dedee437bd7d87;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: server: Protect smpt_server_connection_start() from being called multiple times. --- diff --git a/src/lib-smtp/smtp-server-connection.c b/src/lib-smtp/smtp-server-connection.c index 57cd8b547c..8e565b0099 100644 --- a/src/lib-smtp/smtp-server-connection.c +++ b/src/lib-smtp/smtp-server-connection.c @@ -1145,6 +1145,9 @@ void smtp_server_connection_login(struct smtp_server_connection *conn, void smtp_server_connection_start(struct smtp_server_connection *conn) { + i_assert(!conn->started); + conn->started = TRUE; + conn->raw_input = conn->conn.input; conn->raw_output = conn->conn.output; diff --git a/src/lib-smtp/smtp-server-private.h b/src/lib-smtp/smtp-server-private.h index 37a1edc64b..ff96a2a275 100644 --- a/src/lib-smtp/smtp-server-private.h +++ b/src/lib-smtp/smtp-server-private.h @@ -149,6 +149,7 @@ struct smtp_server_connection { struct smtp_server_stats stats; + bool started:1; bool ssl_start:1; bool ssl_secured:1; bool authenticated:1;