X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient_entry.c;h=ae7cba717d102c8d597731245240ffab4de00585;hb=c1c904ec2af21f1c2b272d790b38d93824af5352;hp=18546fb72909dfb2c792f8ed0a8bfc0665cba6f3;hpb=db5f308b9a3897c74514ad5b366fb43dfec52a7c;p=silc.git diff --git a/lib/silcclient/client_entry.c b/lib/silcclient/client_entry.c index 18546fb7..ae7cba71 100644 --- a/lib/silcclient/client_entry.c +++ b/lib/silcclient/client_entry.c @@ -1532,6 +1532,7 @@ SilcChannelEntry silc_client_add_channel(SilcClient client, SilcBool silc_client_del_channel(SilcClient client, SilcClientConnection conn, SilcChannelEntry channel) { + SilcIDCacheEntry id_cache; SilcBool ret; SilcCipher key; SilcHmac hmac; @@ -1545,6 +1546,9 @@ SilcBool silc_client_del_channel(SilcClient client, SilcClientConnection conn, SILC_LOG_DEBUG(("Deleting channel %p", channel)); silc_mutex_lock(conn->internal->lock); + if (silc_idcache_find_by_context(conn->internal->channel_cache, channel, + &id_cache)) + silc_free(id_cache->name); ret = silc_idcache_del_by_context(conn->internal->channel_cache, channel, NULL); silc_mutex_unlock(conn->internal->lock); @@ -1935,6 +1939,7 @@ SilcServerEntry silc_client_add_server(SilcClient client, SilcBool silc_client_del_server(SilcClient client, SilcClientConnection conn, SilcServerEntry server) { + SilcIDCacheEntry id_cache; SilcBool ret; if (!server) @@ -1946,6 +1951,9 @@ SilcBool silc_client_del_server(SilcClient client, SilcClientConnection conn, SILC_LOG_DEBUG(("Deleting server %p", server)); silc_mutex_lock(conn->internal->lock); + if (silc_idcache_find_by_context(conn->internal->server_cache, server, + &id_cache)) + silc_free(id_cache->name); ret = silc_idcache_del_by_context(conn->internal->server_cache, server, NULL); silc_mutex_unlock(conn->internal->lock);