From: Dan Fandrich Date: Sat, 25 Feb 2017 20:36:39 +0000 (+0100) Subject: proxy: fixed a memory leak on OOM X-Git-Tag: curl-7_54_0~199 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce9ba3ba1057725fe5f485de01294182841c2132;p=curl proxy: fixed a memory leak on OOM --- 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;