disconnect_client: fix index calculation This was sometimes causing a gmnisrv_client to be overwritten by the deinitialized client, which occasionally lead to a segfault when we later tried to use it.
1 files changed, 1 insertions(+), 1 deletions(-) M src/server.c
M src/server.c => src/server.c +1 -1
@@ 200,7 200,7 @@ disconnect_client(struct gmnisrv_server *server, struct gmnisrv_client *client) free(client->path); client->path = NULL; size_t index = (client - server->clients) / sizeof(struct gmnisrv_client); size_t index = client - server->clients; memmove(&server->clients[index], &server->clients[index + 1], (server->clientsz - (index + 1)) * sizeof(struct gmnisrv_client));