X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver.c;h=1299b98066eb5a835ff0916fb8da4c153527bf0a;hb=e10fb3ff712f60100846064c196d5f69921d1b43;hp=751abc7a8b47892ec45e1d698e27558be8618456;hpb=d7eea56ab2b7ad768ae93c172dd233767ccdb432;p=silc.git diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 751abc7a..1299b980 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -2996,8 +2996,10 @@ void silc_server_free_client_data(SilcServer server, SILC_OPER_STATS_UPDATE(client, router, SILC_UMODE_ROUTER_OPERATOR); silc_schedule_task_del_by_context(server->schedule, client); - if (client->data.sconn) + if (client->data.sconn) { silc_server_connection_free(client->data.sconn); + client->data.sconn = NULL; + } /* We will not delete the client entry right away. We will take it into history (for WHOWAS command) for 5 minutes, unless we're @@ -3034,7 +3036,8 @@ void silc_server_free_sock_user_data(SilcServer server, if (!idata) return; - // silc_schedule_task_del_by_context(server->schedule, sock); + silc_schedule_task_del_by_all(server->schedule, 0, silc_server_do_rekey, + sock); /* Cancel active protocols */ if (idata) {