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; | 
