diff --git a/lib/ssh.c b/lib/ssh.c index 9b56ebc7bf75be830e14812f9ebfba475ae530d0..dddd42d56adae0baa69b582e2fa16450d2388fe1 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -303,6 +303,7 @@ CURLcode Curl_scp_connect(struct connectdata *conn, bool *done) if (libssh2_session_startup(scp->scpSession, sock)) { failf(data, "Failure establishing ssh session\n"); + libssh2_session_free(scp->scpSession); Curl_safefree(scp->path); return CURLE_FAILED_INIT; } @@ -395,6 +396,7 @@ CURLcode Curl_scp_connect(struct connectdata *conn, bool *done) if (!authed) { failf(data, "Authentication failure\n"); + libssh2_session_free(scp->scpSession); Curl_safefree(scp->path); return CURLE_FAILED_INIT; }