diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-01-29 12:01:20 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-01-29 12:01:20 +0000 |
commit | 59b45a90cc04695d862d59d1d84126ad6cdf5f59 (patch) | |
tree | 680bbc31a3604f1d940f26e5e357884263772fd2 | |
parent | f661475962213123b5e640db9744b23ea361ac65 (diff) |
multi interface: when a request is denied due to "Maximum redirects followed"
libcurl leaked the last Location: URL.
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | lib/multi.c | 4 |
2 files changed, 7 insertions, 0 deletions
@@ -7,6 +7,9 @@ Changelog Daniel (29 January 2005) +- multi interface: when a request is denied due to "Maximum redirects + followed" libcurl leaked the last Location: URL. + - Connect failures with the multi interface was often returned as "connect() timed out" even though the reason was different. diff --git a/lib/multi.c b/lib/multi.c index 62bffec45..f569c281a 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -523,6 +523,10 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) easy->state = CURLM_STATE_CONNECT; result = CURLM_CALL_MULTI_PERFORM; } + else + /* Since we "took it", we are in charge of freeing this on + failure */ + free(newurl); } else { easy->state = CURLM_STATE_DONE; |