]> granicus.if.org Git - curl/commitdiff
- Leanic Lefever reported a crash and did some detailed research on why and
authorDaniel Stenberg <daniel@haxx.se>
Mon, 20 Apr 2009 21:41:17 +0000 (21:41 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 20 Apr 2009 21:41:17 +0000 (21:41 +0000)
  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.

CHANGES
RELEASE-NOTES
lib/ftp.c

diff --git a/CHANGES b/CHANGES
index ceee6cc2d60d1e5629a7191fb411e86d6a20a639..d5317e8c065520d16546b3a42ba38d4b07aa9079 100644 (file)
--- 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
index 67c98fd18cb827295861c7b1b05ede954fecfad8..efb1f24975cfde32c5dd571fa8daf2bfb2318253 100644 (file)
@@ -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)
index b78617e75de66656f621f80a4a61c8ab68acd589..422bac219ab1eb4fa526fdbf9f8ac2f32a58f97c 100644 (file)
--- 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;
   }