diff options
| author | Pavel Roskin <plroskin@gmail.com> | 2016-10-16 23:40:47 -0700 |
|---|---|---|
| committer | Pavel Roskin <plroskin@gmail.com> | 2016-10-21 20:15:50 +0000 |
| commit | 65ac8e758b6bd1458c8228613db4fec99d54d86f (patch) | |
| tree | 49336ba19adf42784764d85c0e9f0d1037f1ed85 /sesman/scp_v1.c | |
| parent | 8bf28e45c4ff59f3195966a107611b211ee5aca3 (diff) | |
| download | xrdp-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.c | 4 |
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); } |
