Commit 5c8c310e authored by Daniel Gustafsson's avatar Daniel Gustafsson
Browse files

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: default avatarDaniel Stenberg <daniel@haxx.se>
parent a0c2779d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2926,7 +2926,7 @@ static CURLcode ssh_connect(struct connectdata *conn, bool *done)
    int rc;
    ssh->kh = libssh2_knownhost_init(ssh->ssh_session);
    if(!ssh->kh) {
      /* eeek. TODO: free the ssh_session! */
      libssh2_session_free(ssh->ssh_session);
      return CURLE_FAILED_INIT;
    }