proxy: fixed a memory leak on OOM

This commit is contained in:
Dan Fandrich 2017-02-25 21:36:39 +01:00
parent c6ddb606d8
commit ce9ba3ba10
1 changed files with 5 additions and 1 deletions

View File

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