aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cynapses.org>2010-09-07 17:30:10 +0200
committerAndreas Schneider <asn@cynapses.org>2010-09-07 17:37:00 +0200
commitfb24e68eddd1af2bbb6058f6dc0b84a72993599e (patch)
tree7ce8197741a4ec851454deaf90743f8b90ca8335
parentb5f095d0b433728d312b16911bd54ebd76895407 (diff)
downloadlibssh-fb24e68eddd1af2bbb6058f6dc0b84a72993599e.tar.gz
libssh-fb24e68eddd1af2bbb6058f6dc0b84a72993599e.tar.xz
libssh-fb24e68eddd1af2bbb6058f6dc0b84a72993599e.zip
session: Fixed a memory leak with session->bindaddr.
(cherry picked from commit 325cc4e39568831565fce816cfc3bb74a67ccb2c)
-rw-r--r--libssh/server.c1
-rw-r--r--libssh/session.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/libssh/server.c b/libssh/server.c
index 3cce6470..0327cf5e 100644
--- a/libssh/server.c
+++ b/libssh/server.c
@@ -246,6 +246,7 @@ int ssh_bind_accept(ssh_bind sshbind, ssh_session session) {
if (sshbind->bindaddr == NULL)
session->bindaddr = NULL;
else {
+ SAFE_FREE(session->bindaddr);
session->bindaddr = strdup(sshbind->bindaddr);
if (session->bindaddr == NULL) {
privatekey_free(dsa);
diff --git a/libssh/session.c b/libssh/session.c
index 5a57599f..fc687e69 100644
--- a/libssh/session.c
+++ b/libssh/session.c
@@ -153,6 +153,7 @@ void ssh_free(ssh_session session) {
SAFE_FREE(session->serverbanner);
SAFE_FREE(session->clientbanner);
+ SAFE_FREE(session->bindaddr);
SAFE_FREE(session->banner);
#ifdef WITH_PCAP
if(session->pcap_ctx){