Skip to content

Commit 435e5cf

Browse files
committed
client session BUGFIX memory leak
Fixes #148
1 parent 3df5b25 commit 435e5cf

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/session_client_ssh.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1829,6 +1829,7 @@ nc_accept_callhome_ssh_sock(int sock, const char *host, uint16_t port, struct ly
18291829
pw = getpwuid(getuid());
18301830
if (!pw) {
18311831
ERR("Unknown username for the SSH connection (%s).", strerror(errno));
1832+
ssh_free(sess);
18321833
return NULL;
18331834
}
18341835
ssh_options_set(sess, SSH_OPTIONS_USER, pw->pw_name);
@@ -1843,9 +1844,11 @@ nc_accept_callhome_ssh_sock(int sock, const char *host, uint16_t port, struct ly
18431844
#endif
18441845

18451846
session = _nc_connect_libssh(sess, ctx, &ssh_ch_opts, timeout);
1846-
if (session) {
1847-
session->flags |= NC_SESSION_CALLHOME;
1847+
if (!session) {
1848+
ssh_free(sess);
1849+
return NULL;
18481850
}
18491851

1852+
session->flags |= NC_SESSION_CALLHOME;
18501853
return session;
18511854
}

0 commit comments

Comments
 (0)