url.c: Fix dot file path cleanup when using an HTTP proxy

Previously the path was cleaned, but the URL wasn't properly updated.
This commit is contained in:
Fabian Keil 2013-07-13 14:12:18 +02:00 committed by Daniel Stenberg
parent d020e2c381
commit 2c4ef997b9

View File

@ -3899,15 +3899,20 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data,
the original */
size_t urllen = strlen(data->change.url); /* original URL length */
size_t prefixlen = strlen(conn->host.name);
if(!*prot_missing)
prefixlen += strlen(protop) + strlen("://");
reurl = malloc(urllen + 2); /* 2 for zerobyte + slash */
if(!reurl)
return CURLE_OUT_OF_MEMORY;
/* copy the prefix */
memcpy(reurl, data->change.url, urllen - (plen-1));
memcpy(reurl, data->change.url, prefixlen);
/* append the trailing piece + zerobyte */
memcpy(&reurl[urllen - (plen-1)], path, plen + 1);
memcpy(&reurl[prefixlen], path, plen + 1);
/* possible free the old one */
if(data->change.url_alloc) {