diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/fetch.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/content/fetch.c b/content/fetch.c index 97e0473b8..ac47b4a46 100644 --- a/content/fetch.c +++ b/content/fetch.c @@ -613,6 +613,7 @@ bool fetch_process_headers(struct fetch *f) { long http_code; const char *type; + char *temp; CURLcode code; f->had_headers = true; @@ -623,6 +624,9 @@ bool fetch_process_headers(struct fetch *f) /* handle HTTP redirects (3xx response codes) */ if (300 <= http_code && http_code < 400 && f->location != 0) { + temp = curl_unescape(f->location, strlen(f->location)); + xfree(f->location); + f->location = temp; LOG(("FETCH_REDIRECT, '%s'", f->location)); f->callback(FETCH_REDIRECT, f->p, f->location, 0); return true; |