X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Fsilcd%2Fcommand.c;h=2bd8198ebcfd0e2583b84098c1063bfe777c8cdd;hp=f35969ecf8968c3377595a04bd8fe7b84e63c50e;hb=e9374395ec9747bddd3ea0bfd3e5a17717e97b31;hpb=8bb22be757768c18af7a5381b3b18d4983dfa9d4 diff --git a/apps/silcd/command.c b/apps/silcd/command.c index f35969ec..2bd8198e 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -1472,12 +1472,19 @@ SILC_SERVER_CMD_FUNC(kill) /* Do normal signoff for the destination client */ sock = remote_client->connection; + + if (sock) + silc_packet_stream_ref(sock); + silc_server_remove_from_channels(server, NULL, remote_client, TRUE, (char *)"Killed", TRUE, TRUE); silc_server_free_sock_user_data(server, sock, comment ? comment : (unsigned char *)"Killed"); - if (sock) + if (sock) { + silc_packet_set_context(sock, NULL); silc_server_close_connection(server, sock); + silc_packet_stream_unref(sock); + } } else { /* Router operator killing */