From feea048192dc17be35a58bdb5b19ddde8a06eaaf Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 27 Dec 2022 17:28:01 -0500 Subject: [PATCH] login-common: Use separate data stack frames when looping through clients --- src/login-common/client-common-auth.c | 4 +++- src/login-common/client-common.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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) -- 2.47.3