X-Git-Url: http://git.silc.fi/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver_util.c;fp=apps%2Fsilcd%2Fserver_util.c;h=74ce18ba2902866107148517f3f961fe645dd714;hb=e9374395ec9747bddd3ea0bfd3e5a17717e97b31;hp=d2fd526caf5691f95d58539f2505086ed0d6f904;hpb=8bb22be757768c18af7a5381b3b18d4983dfa9d4;p=silc.git diff --git a/apps/silcd/server_util.c b/apps/silcd/server_util.c index d2fd526c..74ce18ba 100644 --- a/apps/silcd/server_util.c +++ b/apps/silcd/server_util.c @@ -1547,8 +1547,17 @@ void silc_server_kill_client(SilcServer server, if (remote_client->connection) { /* Remove locally conneted client */ SilcPacketStream sock = remote_client->connection; + + if (sock) + silc_packet_stream_ref(sock); + silc_server_free_sock_user_data(server, sock, NULL); - silc_server_close_connection(server, sock); + + if (sock) { + silc_packet_set_context(sock, NULL); + silc_server_close_connection(server, sock); + silc_packet_stream_unref(sock); + } } else { /* Update statistics */ server->stat.clients--;