]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login-common: Put proxy looping on stack in login_proxy_cmd_kick_full()
authorsergey.kitov <sergey.kitov@open-xchange.com>
Fri, 25 Sep 2020 07:43:39 +0000 (10:43 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Wed, 7 Oct 2020 11:46:11 +0000 (11:46 +0000)
src/login-common/login-proxy.c

index 7e6acc40bb17725ee71523c9b31311ff02d04f65..a05d3239cb862f0c42318eb69b5b92fd45a33eb4 100644 (file)
@@ -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));
 }