projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Memory leak fixes.
[silc.git]
/
lib
/
silcclient
/
client.c
diff --git
a/lib/silcclient/client.c
b/lib/silcclient/client.c
index 0ee9f52a78423ed50af27787ea2e6fea0c409fe4..5eeb6c3505d697a9c49215d4131d33d4528ef69c 100644
(file)
--- a/
lib/silcclient/client.c
+++ b/
lib/silcclient/client.c
@@
-731,6
+731,12
@@
void silc_client_del_connection(SilcClient client, SilcClientConnection conn)
silc_hash_free(conn->internal->sha1hash);
silc_atomic_uninit16(&conn->internal->cmd_ident);
silc_hash_free(conn->internal->sha1hash);
silc_atomic_uninit16(&conn->internal->cmd_ident);
+ if (conn->internal->rekey)
+ silc_ske_free_rekey_material(conn->internal->rekey);
+
+ if (conn->internal->cop)
+ silc_async_free(conn->internal->cop);
+
silc_free(conn->internal);
memset(conn, 'F', sizeof(*conn));
silc_free(conn);
silc_free(conn->internal);
memset(conn, 'F', sizeof(*conn));
silc_free(conn);
@@
-934,7
+940,10
@@
void silc_client_free(SilcClient client)
silc_hmac_unregister_all();
}
silc_hmac_unregister_all();
}
+ silc_packet_engine_stop(client->internal->packet_engine);
+ silc_dlist_uninit(client->internal->ftp_sessions);
silc_atomic_uninit16(&client->internal->conns);
silc_atomic_uninit16(&client->internal->conns);
+ silc_mutex_free(client->internal->lock);
silc_free(client->username);
silc_free(client->hostname);
silc_free(client->realname);
silc_free(client->username);
silc_free(client->hostname);
silc_free(client->realname);