summaryrefslogtreecommitdiffstats
path: root/sesman/scp.c
diff options
context:
space:
mode:
authormetalefty <meta@vmeta.jp>2016-10-24 23:10:45 +0900
committerGitHub <noreply@github.com>2016-10-24 23:10:45 +0900
commit34378ea386134f017da62bf0c06916506379f92b (patch)
tree6314996584bd7cd6606d482fa3c33ecfe5306d79 /sesman/scp.c
parentb79ad54bd3ecd624bf434f5e01b1496a93722297 (diff)
parentb28a986071ba3ee1bb8aac7dce7b211ad4f07504 (diff)
downloadxrdp-proprietary-34378ea386134f017da62bf0c06916506379f92b.tar.gz
xrdp-proprietary-34378ea386134f017da62bf0c06916506379f92b.zip
Merge pull request #450 from proski/memleak
Fixing memory leaks
Diffstat (limited to 'sesman/scp.c')
-rw-r--r--sesman/scp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sesman/scp.c b/sesman/scp.c
index e4abe004..d81de0ab 100644
--- a/sesman/scp.c
+++ b/sesman/scp.c
@@ -36,7 +36,7 @@ void *DEFAULT_CC
scp_process_start(void *sck)
{
struct SCP_CONNECTION scon;
- struct SCP_SESSION *sdata;
+ struct SCP_SESSION *sdata = NULL;
scon.in_sck = (int)(tintptr)sck;
LOG_DBG("started scp thread on socket %d", scon.in_sck);
@@ -89,9 +89,16 @@ scp_process_start(void *sck)
break;
default:
log_message(LOG_LEVEL_ALWAYS, "unknown return from scp_vXs_accept()");
+ break;
}
free_stream(scon.in_s);
free_stream(scon.out_s);
+
+ if (sdata)
+ {
+ scp_session_destroy(sdata);
+ }
+
return 0;
}