From 29ec219b82ba65fd4be0fd7c9d678eb9ae1890b7 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Tue, 2 Sep 2008 23:12:00 +0000 Subject: Fixed an out of memory problem that caused torture test failures in tests 706 and 707. --- CHANGES | 4 ++++ lib/ftp.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 06e2c8b69..fd723e4bb 100644 --- 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 diff --git a/lib/ftp.c b/lib/ftp.c index d53134d5b..1b09e9cfd 100644 --- 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, -- cgit v1.2.3