From ad3bc56f96b024ac31e8927f21d1f5e7b8f61b56 Mon Sep 17 00:00:00 2001 From: Martin Johansson Date: Wed, 29 Aug 2012 21:13:51 +0200 Subject: [PATCH] Fix unsafe client removal from list at timeout. --- src/client.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client.c b/src/client.c index a81badf..9f7576e 100644 --- a/src/client.c +++ b/src/client.c @@ -91,9 +91,9 @@ int Client_getfds(struct pollfd *pollfds) void Client_janitor() { - struct dlist *itr; + struct dlist *itr, *save; int bwTop = maxBandwidth + maxBandwidth / 4; - list_iterate(itr, &clients) { + list_iterate_safe(itr, save, &clients) { client_t *c; c = list_get_entry(itr, client_t, node); Log_debug("Client %s BW available %d", c->username, c->availableBandwidth); -- 2.30.2