aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2009-04-20 21:41:17 +0000
committerDaniel Stenberg <daniel@haxx.se>2009-04-20 21:41:17 +0000
commitb84876ba696294849a5abb69543cd9f899e35ee7 (patch)
tree316205ff6d130637393cf07a8c70e553b7a94225
parent0f1ca2939a43b8f90d68b79b0268c65f5d547ee4 (diff)
- Leanic Lefever reported a crash and did some detailed research on why and
how it occurs (http://curl.haxx.se/mail/lib-2009-04/0289.html). The conclusion was that if an error is detected and Curl_done() is called for the connection, ftp_done() could at times return another error code that then would take precedence and that new code confused existing logic that works for the first error code (CURLE_SEND_ERROR) only.
-rw-r--r--CHANGES7
-rw-r--r--RELEASE-NOTES5
-rw-r--r--lib/ftp.c1
3 files changed, 11 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index ceee6cc2d..d5317e8c0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,13 @@
Changelog
Daniel Stenberg (20 Apr 2009)
+- Leanic Lefever reported a crash and did some detailed research on why and
+ how it occurs (http://curl.haxx.se/mail/lib-2009-04/0289.html). The
+ conclusion was that if an error is detected and Curl_done() is called for
+ the connection, ftp_done() could at times return another error code that
+ then would take precedence and that new code confused existing logic that
+ works for the first error code (CURLE_SEND_ERROR) only.
+
- Gisle Vanem noticed that --libtool would produce bogus strings at times for
OBJECTPOINT options. Now we've introduced a new function - my_setopt_str -
within the app for setting plain string options to avoid the risk of this
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 67c98fd18..efb1f2497 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -30,6 +30,7 @@ This release includes the following bugfixes:
o improved the CURLOPT_NOBODY set to 0 confusions
o persistent connections when doing FTP over a HTTP proxy
o --libcurl bogus strings where other data was pointed to
+ o crash related to FTP and "Re-used connection seems dead, get a new one"
This release includes the following known bugs:
@@ -40,7 +41,7 @@ advice from friends like these:
Daniel Fandrich, Yang Tse, David James, Chris Deidun, Bill Egert,
Andre Guibert de Bruet, Andreas Farber, Frank Hempel, Pierre Brico,
- Kamil Dudka, Jim Freeman, Daniel Johnson, Toshio Kuratomi, Martin Storsjö,
- Pramod Sharma, Gisle Vanem
+ Kamil Dudka, Jim Freeman, Daniel Johnson, Toshio Kuratomi, Martin Storsjo,
+ Pramod Sharma, Gisle Vanem, Leanic Lefever
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/ftp.c b/lib/ftp.c
index b78617e75..422bac219 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3185,6 +3185,7 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
ftpc->cwdfail = TRUE; /* set this TRUE to prevent us to remember the
current path, as this connection is going */
conn->bits.close = TRUE; /* marked for closure */
+ result = status; /* use the already set error code */
break;
}