summaryrefslogtreecommitdiff
path: root/content/llcache.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2010-03-28 16:28:28 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2010-03-28 16:28:28 +0000
commit8effd1cb98bb9291ed732509ec1e81e2a2436360 (patch)
treed200cc111011f4cd145cb81bc71a3cf7aa7c830e /content/llcache.c
parentcb7412181ffed3e22d77b9c4889bd25afec7c4a0 (diff)
downloadnetsurf-8effd1cb98bb9291ed732509ec1e81e2a2436360.tar.gz
netsurf-8effd1cb98bb9291ed732509ec1e81e2a2436360.tar.bz2
Ensure that finished redirection objects in llcache do not get found by subsequent fetch attempts.
svn path=/trunk/netsurf/; revision=10188
Diffstat (limited to 'content/llcache.c')
-rw-r--r--content/llcache.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/content/llcache.c b/content/llcache.c
index 8b6e65513..0c7c2b83c 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -1370,7 +1370,12 @@ nserror llcache_fetch_redirect(llcache_object *object, const char *target,
/* Abort fetch for this object */
fetch_abort(object->fetch.fetch);
object->fetch.fetch = NULL;
-
+
+ /* Invalidate the cache control data */
+ memset(&(object->cache), 0, sizeof(llcache_cache_control));
+ /* And mark it complete */
+ object->fetch.state = LLCACHE_FETCH_COMPLETE;
+
/** \todo Limit redirect depth, or detect cycles */
/* Make target absolute */