From: Timo Sirainen Date: Tue, 27 Dec 2022 22:28:01 +0000 (-0500) Subject: login-common: Use separate data stack frames when looping through clients X-Git-Tag: 2.4.0~3199 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=feea048192dc17be35a58bdb5b19ddde8a06eaaf;p=thirdparty%2Fdovecot%2Fcore.git login-common: Use separate data stack frames when looping through clients --- diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index b9e1ab9883..c882f09831 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -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; diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index 381701652f..857ddc631f 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -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)