summaryrefslogtreecommitdiffstats
path: root/sesman/scp_v1.c
diff options
context:
space:
mode:
authorPavel Roskin <plroskin@gmail.com>2016-10-16 23:40:47 -0700
committerPavel Roskin <plroskin@gmail.com>2016-10-21 20:15:50 +0000
commit65ac8e758b6bd1458c8228613db4fec99d54d86f (patch)
tree49336ba19adf42784764d85c0e9f0d1037f1ed85 /sesman/scp_v1.c
parent8bf28e45c4ff59f3195966a107611b211ee5aca3 (diff)
downloadxrdp-proprietary-65ac8e758b6bd1458c8228613db4fec99d54d86f.tar.gz
xrdp-proprietary-65ac8e758b6bd1458c8228613db4fec99d54d86f.zip
Fix memory leak: free session data
Call scp_session_destroy() in the functions that call scp_session_create() and nowhere else. As found by Valgrind, the session data is not freed if the session is created successfully.
Diffstat (limited to 'sesman/scp_v1.c')
-rw-r--r--sesman/scp_v1.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/sesman/scp_v1.c b/sesman/scp_v1.c
index 1501606d..df138147 100644
--- a/sesman/scp_v1.c
+++ b/sesman/scp_v1.c
@@ -77,7 +77,6 @@ scp_v1_process(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
default:
/* we check the other errors */
parseCommonStates(e, "scp_v1s_list_sessions()");
- scp_session_destroy(s);
return;
//break;
}
@@ -88,7 +87,6 @@ scp_v1_process(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
scp_v1s_deny_connection(c, "Login failed");
log_message( LOG_LEVEL_INFO,
"Login failed for user %s. Connection terminated", s->username);
- scp_session_destroy(s);
return;
}
@@ -98,7 +96,6 @@ scp_v1_process(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
scp_v1s_deny_connection(c, "Access to Terminal Server not allowed.");
log_message(LOG_LEVEL_INFO,
"User %s not allowed on TS. Connection terminated", s->username);
- scp_session_destroy(s);
return;
}
@@ -204,7 +201,6 @@ scp_v1_process(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
}
/* cleanup */
- scp_session_destroy(s);
auth_end(data);
g_free(slist);
}