From: Stephan Bosch Date: Fri, 28 Jan 2022 02:17:59 +0000 (+0100) Subject: lib-sasl: dsasl-client - Make dsasl_client_free(&NULL) a no-op. X-Git-Tag: 2.4.0~4602 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a114d21fa2f91337f5b1df362dabf40011045426;p=thirdparty%2Fdovecot%2Fcore.git lib-sasl: dsasl-client - Make dsasl_client_free(&NULL) a no-op. --- diff --git a/src/lib-sasl/dsasl-client.c b/src/lib-sasl/dsasl-client.c index fc92f44a80..bf11d5ccd5 100644 --- a/src/lib-sasl/dsasl-client.c +++ b/src/lib-sasl/dsasl-client.c @@ -74,6 +74,8 @@ void dsasl_client_free(struct dsasl_client **_client) { struct dsasl_client *client = *_client; + if (client == NULL) + return; *_client = NULL; if (client->mech->free != NULL) diff --git a/src/lib-smtp/smtp-client-connection.c b/src/lib-smtp/smtp-client-connection.c index ad10147b51..b9a0a3455e 100644 --- a/src/lib-smtp/smtp-client-connection.c +++ b/src/lib-smtp/smtp-client-connection.c @@ -2008,8 +2008,7 @@ void smtp_client_connection_disconnect(struct smtp_client_connection *conn) ssl_iostream_destroy(&conn->ssl_iostream); if (conn->ssl_ctx != NULL) ssl_iostream_context_unref(&conn->ssl_ctx); - if (conn->sasl_client != NULL) - dsasl_client_free(&conn->sasl_client); + dsasl_client_free(&conn->sasl_client); o_stream_destroy(&conn->dot_output); diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index 80600582be..1cdca09e78 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -368,8 +368,7 @@ static void proxy_input(struct client *client) static void proxy_reset(struct client *client) { - if (client->proxy_sasl_client != NULL) - dsasl_client_free(&client->proxy_sasl_client); + dsasl_client_free(&client->proxy_sasl_client); client->v.proxy_reset(client); } diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index 6fec73c601..3f3fae6e04 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -366,8 +366,7 @@ void client_destroy(struct client *client, const char *reason) i_free_and_null(client->proxy_password); } - if (client->proxy_sasl_client != NULL) - dsasl_client_free(&client->proxy_sasl_client); + dsasl_client_free(&client->proxy_sasl_client); if (client->login_proxy != NULL) login_proxy_free(&client->login_proxy); if (client->v.destroy != NULL)