From: sergey.kitov Date: Fri, 25 Sep 2020 07:43:39 +0000 (+0300) Subject: login-common: Put proxy looping on stack in login_proxy_cmd_kick_full() X-Git-Tag: 2.3.13~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=10f534e0f25ab7276694b34e78f0de7bac13ec1f;p=thirdparty%2Fdovecot%2Fcore.git login-common: Put proxy looping on stack in login_proxy_cmd_kick_full() --- diff --git a/src/login-common/login-proxy.c b/src/login-common/login-proxy.c index 7e6acc40bb..a05d3239cb 100644 --- a/src/login-common/login-proxy.c +++ b/src/login-common/login-proxy.c @@ -859,7 +859,7 @@ login_proxy_cmd_kick_full(struct ipc_cmd *cmd, const char *const *args, return; } - for (proxy = login_proxies; proxy != NULL; proxy = next) { + for (proxy = login_proxies; proxy != NULL; proxy = next) T_BEGIN { next = proxy->next; if (want_kick(proxy->client, args, key_idx)) { @@ -867,15 +867,15 @@ login_proxy_cmd_kick_full(struct ipc_cmd *cmd, const char *const *args, LOGIN_PROXY_FREE_FLAG_DELAYED); count++; } - } - for (proxy = login_proxies_pending; proxy != NULL; proxy = next) { + } T_END; + for (proxy = login_proxies_pending; proxy != NULL; proxy = next) T_BEGIN { next = proxy->next; if (want_kick(proxy->client, args, key_idx)) { client_destroy(proxy->client, KILLED_BY_ADMIN_REASON); count++; } - } + } T_END; ipc_cmd_success_reply(&cmd, t_strdup_printf("%u", count)); }