]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-sasl: dsasl-client - Make dsasl_client_free(&NULL) a no-op.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Fri, 28 Jan 2022 02:17:59 +0000 (03:17 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 28 Jan 2022 13:22:35 +0000 (14:22 +0100)
src/lib-sasl/dsasl-client.c
src/lib-smtp/smtp-client-connection.c
src/login-common/client-common-auth.c
src/login-common/client-common.c

index fc92f44a80628a7354cb235b420c5d4ce9d8e3d3..bf11d5ccd501c3576559138f4f1cb5b4183389c4 100644 (file)
@@ -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)
index f97f68d61a2d77d3ec305276cf3b25c0799a2c12..94f187cbcadf9f119ca70e9b3f29c3aeca4057b1 100644 (file)
@@ -2007,8 +2007,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);
 
index 4436eb5cc7f1c53b85faf5d15184ec8a8eb58b78..9a9a7100ce507a0575ce8e6c7452809e6509786a 100644 (file)
@@ -392,8 +392,7 @@ void client_common_proxy_failed(struct client *client,
                                const char *reason ATTR_UNUSED,
                                bool reconnecting)
 {
-       if (client->proxy_sasl_client != NULL)
-               dsasl_client_free(&client->proxy_sasl_client);
+       dsasl_client_free(&client->proxy_sasl_client);
        if (reconnecting) {
                client->v.proxy_reset(client);
                return;
index 41a111b1edacfea8cf47bb94d6dd6d16083601b5..c6f6a16cff1d4921bc1fba91aae67a57e7872adb 100644 (file)
@@ -363,8 +363,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)