]> granicus.if.org Git - curl/commitdiff
Free 'scp->path' in case of libssh2 setup failure.
authorGisle Vanem <gvanem@broadpark.no>
Tue, 14 Nov 2006 20:26:13 +0000 (20:26 +0000)
committerGisle Vanem <gvanem@broadpark.no>
Tue, 14 Nov 2006 20:26:13 +0000 (20:26 +0000)
lib/ssh.c

index f3cd99b33838b8fc3833edc83a6a45bc0c2e1bd8..9b56ebc7bf75be830e14812f9ebfba475ae530d0 100644 (file)
--- 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;
   }