Make sure client entry is not expired more than once
[silc.git] / apps / silcd / server_util.c
index 14a1a240c9bfa62fbdeabf70dfbf66500ce332b0..274bd0f58b483bbefbbe4bd2baf06740056f30f3 100644 (file)
@@ -228,6 +228,7 @@ SilcBool silc_server_remove_clients_by_server(SilcServer server,
        client->mode = 0;
        client->router = NULL;
        client->connection = NULL;
+       silc_dlist_del(server->expired_clients, client);
        silc_dlist_add(server->expired_clients, client);
       } else {
        silc_idlist_del_data(client);
@@ -289,6 +290,7 @@ SilcBool silc_server_remove_clients_by_server(SilcServer server,
        client->mode = 0;
        client->router = NULL;
        client->connection = NULL;
+       silc_dlist_del(server->expired_clients, client);
        silc_dlist_add(server->expired_clients, client);
       } else {
        silc_idlist_del_data(client);