diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-10-21 21:00:44 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-10-21 21:00:44 +0000 |
commit | 1a1ab2e2e8abb6618721188109156e5bdda35cdd (patch) | |
tree | 4a26813912a75b3c1c2989b468fcd54b2918ad84 | |
parent | 715b706caaf57e5ab1a395ea173b5f16f5b05922 (diff) |
"Ofer" reported a problem when libcurl re-used a connection and failed to do
it, it could then accidentally actually crash. Presumably, this concerns FTP
connections. http://curl.haxx.se/bug/view.cgi?id=1330310
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | lib/url.c | 9 |
2 files changed, 12 insertions, 1 deletions
@@ -9,6 +9,10 @@ Daniel (21 October 2005) +- "Ofer" reported a problem when libcurl re-used a connection and failed to do + it, it could then accidentally actually crash. Presumably, this concerns FTP + connections. http://curl.haxx.se/bug/view.cgi?id=1330310 + - Temprimus improved the MSVC makefile so that the static debug SSL libs are linked to the executable and not to the libcurld.lib http://curl.haxx.se/bug/view.cgi?id=1326676 @@ -3844,7 +3844,14 @@ CURLcode Curl_do(struct connectdata **connp, bool *done) /* conn may no longer be a good pointer */ - if(CURLE_OK == result) { + /* + * According to bug report #1330310. We need to check for + * CURLE_SEND_ERROR here as well. I figure this could happen when the + * request failed on a FTP connection and thus Curl_done() itself tried + * to use the connection (again). Slight Lack of feedback in the report, + * but I don't think this extra check can do much harm. + */ + if((CURLE_OK == result) || (CURLE_SEND_ERROR == result)) { bool async; bool protocol_done = TRUE; |