Fixed an out of memory problem that caused torture test failures in tests
authorDan Fandrich <dan@coneharvesters.com>
Tue, 2 Sep 2008 23:12:00 +0000 (23:12 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Tue, 2 Sep 2008 23:12:00 +0000 (23:12 +0000)
706 and 707.

CHANGES
lib/ftp.c

diff --git a/CHANGES b/CHANGES
index 06e2c8b..fd723e4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel Fandrich (2 Sep 2008)
+- Fixed an out of memory problem that caused torture test failures in tests
+  706 and 707.
+
 Daniel Stenberg (2 Sep 2008)
 - Keith Mok added supported_protocols and supported_features to the pkg-config
   file for libcurl, and while doing that fix he unified with curl-config.in
index d53134d..1b09e9c 100644 (file)
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1825,6 +1825,11 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
     connectport =
       (unsigned short)conn->port; /* we connect to the proxy's port */
 
+    if(!addr) {
+      failf(data, "Can't resolve proxy host %s:%d",
+            conn->proxy.name, connectport);
+      return CURLE_FTP_CANT_GET_HOST;
+    }
   }
   else {
     /* normal, direct, ftp connection */
@@ -1833,11 +1838,12 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
       /* BLOCKING */
       rc = Curl_wait_for_resolv(conn, &addr);
 
+    connectport = newport; /* we connect to the remote port */
+
     if(!addr) {
-      failf(data, "Can't resolve new host %s:%d", newhost, newport);
+      failf(data, "Can't resolve new host %s:%d", newhost, connectport);
       return CURLE_FTP_CANT_GET_HOST;
     }
-    connectport = newport; /* we connect to the remote port */
   }
 
   result = Curl_connecthost(conn,