]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login-common: Use separate data stack frames when looping through clients
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 27 Dec 2022 22:28:01 +0000 (17:28 -0500)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 11 Jan 2023 22:07:40 +0000 (00:07 +0200)
src/login-common/client-common-auth.c
src/login-common/client-common.c

index b9e1ab9883f0263febb40deb6143f2d597c53cb7..c882f09831209383eb7a12a9dd60f5a9c526a90d 100644 (file)
@@ -1095,7 +1095,9 @@ void clients_notify_auth_connected(void)
 
                timeout_remove(&client->to_auth_waiting);
 
-               client_notify_auth_ready(client);
+               T_BEGIN {
+                       client_notify_auth_ready(client);
+               } T_END;
 
                if (!client_does_custom_io(client) && client->input_blocked) {
                        client->input_blocked = FALSE;
index 381701652fb11a25705ffce23c945687ea935489..857ddc631ff5bc9b9b40204a2695bcd71cb36fe4 100644 (file)
@@ -533,12 +533,12 @@ void clients_destroy_all_reason(const char *reason)
 {
        struct client *client, *next;
 
-       for (client = clients; client != NULL; client = next) {
+       for (client = clients; client != NULL; client = next) T_BEGIN {
                next = client->next;
                client_notify_disconnect(client,
                        CLIENT_DISCONNECT_SYSTEM_SHUTDOWN, reason);
                client_destroy(client, reason);
-       }
+       } T_END;
 }
 
 void clients_destroy_all(void)