aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/url.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/url.c b/lib/url.c
index 38b9552f7..b2dac8bcb 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -5118,15 +5118,19 @@ static CURLcode parse_proxy(struct Curl_easy *data,
with reserved characters like ':' in them. */
Curl_safefree(proxyinfo->user);
proxyinfo->user = curl_easy_unescape(data, proxyuser, 0, NULL);
+ Curl_safefree(proxyuser);
- if(!proxyinfo->user)
+ if(!proxyinfo->user) {
+ Curl_safefree(proxypasswd);
return CURLE_OUT_OF_MEMORY;
+ }
Curl_safefree(proxyinfo->passwd);
if(proxypasswd && strlen(proxypasswd) < MAX_CURL_PASSWORD_LENGTH)
proxyinfo->passwd = curl_easy_unescape(data, proxypasswd, 0, NULL);
else
proxyinfo->passwd = strdup("");
+ Curl_safefree(proxypasswd);
if(!proxyinfo->passwd)
return CURLE_OUT_OF_MEMORY;