diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-12-15 14:48:37 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-12-15 14:48:37 +0000 |
commit | 50e7545118dca4bb456d7c8120ac8f2f4c5bf6f5 (patch) | |
tree | 91fca17e234a5089bb1d99259ddd9d8b2a6349bb | |
parent | 0839d6e6bc61f3fa035cd680056852cf3a6cd4e1 (diff) | |
download | curl-50e7545118dca4bb456d7c8120ac8f2f4c5bf6f5.tar.gz |
Giuseppe Attardi fixed a really tricky bug
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | lib/url.c | 4 |
2 files changed, 8 insertions, 0 deletions
@@ -7,6 +7,10 @@ Changelog +Daniel (15 December) +- Giuseppe Attardi found and fixed a problem within libcurl that re-used + already freed memory. + Daniel (10 December) - Gisle Vanem reported that the dict support was broken. I broke it during my ftps-changes overhaul. I've now added a 'curlassert' function that can be @@ -3281,6 +3281,9 @@ CURLcode Curl_do(struct connectdata **connp) conn->bits.close = TRUE; /* enforce close of this connetion */ result = Curl_done(conn); /* we are so done with this */ + + /* conn is no longer a good pointer */ + if(CURLE_OK == result) { bool async; /* Now, redo the connect and get a new connection */ @@ -3288,6 +3291,7 @@ CURLcode Curl_do(struct connectdata **connp) if(CURLE_OK == result) { /* We have connected or sent away a name resolve query fine */ + conn = *connp; /* setup conn to again point to something nice */ if(async) { /* Now, if async is TRUE here, we need to wait for the name to resolve */ |