mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
ssh: free the session on init failures
Ensure to clear the session object in case the libssh2 initialization fails. It could be argued that the libssh2 error function should be called to get a proper error message in this case. But since the only error path in libssh2_knownhost_init() is memory a allocation failure it's safest to avoid since the libssh2 error handling allocates memory. Closes #3179 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
This commit is contained in:
parent
a0c2779d61
commit
5c8c310edb
@ -2926,7 +2926,7 @@ static CURLcode ssh_connect(struct connectdata *conn, bool *done)
|
|||||||
int rc;
|
int rc;
|
||||||
ssh->kh = libssh2_knownhost_init(ssh->ssh_session);
|
ssh->kh = libssh2_knownhost_init(ssh->ssh_session);
|
||||||
if(!ssh->kh) {
|
if(!ssh->kh) {
|
||||||
/* eeek. TODO: free the ssh_session! */
|
libssh2_session_free(ssh->ssh_session);
|
||||||
return CURLE_FAILED_INIT;
|
return CURLE_FAILED_INIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user