Commit 2c4ef997 authored by Fabian Keil's avatar Fabian Keil Committed by Daniel Stenberg
Browse files

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

Previously the path was cleaned, but the URL wasn't properly updated.
parent d020e2c3
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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) {