X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver.c;h=bafbcdf521e25f98299f247e056cbc9a69c47596;hb=ded594b218b41593192dc37ec059a1a8a5d70eff;hp=81ff07690da99f68909d5256352f2db21ab729f2;hpb=90d3834fdf63277de175f12ae6d4752b3e464238;p=silc.git diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 81ff0769..bafbcdf5 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -3303,7 +3303,7 @@ void silc_server_remove_from_channels(SilcServer server, } silc_hash_table_del(client->channels, channel); - silc_hash_table_del(channel->user_list, chl->client); + silc_hash_table_del(channel->user_list, client); channel->user_count--; /* If there is no global users on the channel anymore mark the channel @@ -3312,6 +3312,7 @@ void silc_server_remove_from_channels(SilcServer server, chl->client->router && !silc_server_channel_has_global(channel)) channel->global_users = FALSE; + memset(chl, 'A', sizeof(*chl)); silc_free(chl); /* Update statistics */ @@ -3404,8 +3405,8 @@ bool silc_server_remove_from_one_channel(SilcServer server, return FALSE; } - silc_hash_table_del(client->channels, chl->channel); - silc_hash_table_del(channel->user_list, chl->client); + silc_hash_table_del(client->channels, channel); + silc_hash_table_del(channel->user_list, client); channel->user_count--; /* If there is no global users on the channel anymore mark the channel @@ -3414,6 +3415,7 @@ bool silc_server_remove_from_one_channel(SilcServer server, chl->client->router && !silc_server_channel_has_global(channel)) channel->global_users = FALSE; + memset(chl, 'O', sizeof(*chl)); silc_free(chl); /* Update statistics */