aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--lib/multi.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index c33f4e709..42317ac85 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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;