diff --git a/lib/ssh.c b/lib/ssh.c index f3cd99b33838b8fc3833edc83a6a45bc0c2e1bd8..9b56ebc7bf75be830e14812f9ebfba475ae530d0 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -294,6 +294,7 @@ CURLcode Curl_scp_connect(struct connectdata *conn, bool *done) libssh2_realloc, NULL); if (scp->scpSession == NULL) { failf(data, "Failure initialising ssh session\n"); + Curl_safefree(scp->path); return CURLE_FAILED_INIT; } #ifdef CURL_LIBSSH2_DEBUG @@ -302,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"); + Curl_safefree(scp->path); return CURLE_FAILED_INIT; } @@ -393,6 +395,7 @@ CURLcode Curl_scp_connect(struct connectdata *conn, bool *done) if (!authed) { failf(data, "Authentication failure\n"); + Curl_safefree(scp->path); return CURLE_FAILED_INIT; }