projects
/
silc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a0701bd
)
silcclient: Fix error path memory freeing
author
Pekka Riikonen
<priikone@silcnet.org>
Wed, 28 May 2014 10:56:32 +0000
(13:56 +0300)
committer
Pekka Riikonen
<priikone@silcnet.org>
Wed, 28 May 2014 10:56:32 +0000
(13:56 +0300)
lib/silcclient/client.c
patch
|
blob
|
history
diff --git
a/lib/silcclient/client.c
b/lib/silcclient/client.c
index f2db81e04f2ae76ff3b7611f98589bac236bffe2..1d64e02fd502848d099880b396bec665e42160b7 100644
(file)
--- a/
lib/silcclient/client.c
+++ b/
lib/silcclient/client.c
@@
-604,7
+604,7
@@
silc_client_add_connection(SilcClient client,
SilcClientConnection conn;
SilcFSMThread thread;
SilcClientConnection conn;
SilcFSMThread thread;
- if (!c
allback
)
+ if (!c
lient || !callback || !remote_host
)
return NULL;
SILC_LOG_DEBUG(("Adding new connection to %s:%d", remote_host, port));
return NULL;
SILC_LOG_DEBUG(("Adding new connection to %s:%d", remote_host, port));
@@
-624,6
+624,7
@@
silc_client_add_connection(SilcClient client,
conn->internal = silc_calloc(1, sizeof(*conn->internal));
if (!conn->internal) {
conn->internal = silc_calloc(1, sizeof(*conn->internal));
if (!conn->internal) {
+ silc_free(conn->remote_host);
silc_free(conn);
return NULL;
}
silc_free(conn);
return NULL;
}
@@
-632,8
+633,9
@@
silc_client_add_connection(SilcClient client,
silc_atomic_init16(&conn->internal->cmd_ident, 0);
if (!silc_hash_alloc("sha1", &conn->internal->sha1hash)) {
silc_atomic_init16(&conn->internal->cmd_ident, 0);
if (!silc_hash_alloc("sha1", &conn->internal->sha1hash)) {
- silc_free(conn);
+ silc_free(conn
->remote_host
);
silc_free(conn->internal);
silc_free(conn->internal);
+ silc_free(conn);
return NULL;
}
return NULL;
}