aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/multi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/multi.c b/lib/multi.c
index 651a47d1b..f6749f18f 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -440,8 +440,9 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
/* When we follow redirects, must to go back to the CONNECT state */
if(easy->easy_conn->newurl) {
- easy->result = Curl_follow(easy->easy_handle,
- strdup(easy->easy_conn->newurl));
+ char *newurl = easy->easy_conn->newurl;
+ easy->easy_conn->newurl = NULL;
+ easy->result = Curl_follow(easy->easy_handle, newurl);
if(CURLE_OK == easy->result) {
easy->state = CURLM_STATE_CONNECT;
result = CURLM_CALL_MULTI_PERFORM;