From: Steve Holme Date: Sun, 21 Apr 2013 15:55:19 +0000 (+0100) Subject: url: Fixed crash when no username or password supplied for proxy X-Git-Tag: curl-7_31_0~130 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=416ecc15845c4e6bf7ea6359d9c63adec3385f5b;p=thirdparty%2Fcurl.git url: Fixed crash when no username or password supplied for proxy Fixed an issue in parse_proxy(), introduced in commit 11332577b3cb, where an empty username or password (For example: http://:@example.com) would cause a crash. --- diff --git a/lib/url.c b/lib/url.c index 863e5a8f06..50b00e7833 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4208,13 +4208,19 @@ static CURLcode parse_proxy(struct SessionHandle *data, username or password with reserved characters like ':' in them. */ Curl_safefree(conn->proxyuser); - conn->proxyuser = curl_easy_unescape(data, proxyuser, 0, NULL); + if(proxyuser) + conn->proxyuser = curl_easy_unescape(data, proxyuser, 0, NULL); + else + conn->proxyuser = strdup(""); if(!conn->proxyuser) res = CURLE_OUT_OF_MEMORY; else { Curl_safefree(conn->proxypasswd); - conn->proxypasswd = curl_easy_unescape(data, proxypasswd, 0, NULL); + if(proxypasswd) + conn->proxypasswd = curl_easy_unescape(data, proxypasswd, 0, NULL); + else + conn->proxypasswd = strdup(""); if(!conn->proxypasswd) res = CURLE_OUT_OF_MEMORY;