summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/fetch.c4
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;