From 9fd9eef9d7f850ccc1f8d5fe4dc60df461a5dbc2 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Tue, 10 Nov 2020 14:05:43 +0100 Subject: [PATCH] Fix use of wrong index during pollfd refresh The right side of the refresh ended up using the index of the deleted client instead of the index from the loop, which happens to work when the destroyed client is either last or second-last. --- src/server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index e7566bf..dac772b 100644 --- a/src/server.c +++ b/src/server.c @@ -211,7 +211,7 @@ disconnect_client(struct gmnisrv_server *server, struct gmnisrv_client *client) --server->nclients; for (size_t idx = index; idx < server->nclients; idx++) { - server->clients[idx].pollfd = &server->fds[server->nlisten + index]; + server->clients[idx].pollfd = &server->fds[server->nlisten + idx]; } }