diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-09-16 16:21:58 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-09-16 16:21:58 +0000 |
commit | be59d5870b3efaecde6e583fc0adcbf7cdde47ce (patch) | |
tree | d4b9d88d7a68ba638323a8d1df09e94ccccef35f /content | |
parent | cf30b8b074ffd6a9b8c74ecc0849e7325fc81a7a (diff) | |
download | netsurf-be59d5870b3efaecde6e583fc0adcbf7cdde47ce.tar.gz netsurf-be59d5870b3efaecde6e583fc0adcbf7cdde47ce.tar.bz2 |
Ensure we free etags before invalidating cache control data
svn path=/trunk/netsurf/; revision=10784
Diffstat (limited to 'content')
-rw-r--r-- | content/llcache.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/content/llcache.c b/content/llcache.c index 56219f8e9..1f493b470 100644 --- a/content/llcache.c +++ b/content/llcache.c @@ -421,6 +421,7 @@ nserror llcache_handle_abort(llcache_handle *handle) object->fetch.state = LLCACHE_FETCH_COMPLETE; /* Invalidate cache control data */ + free(object->cache.etag); memset(&(object->cache), 0, sizeof(llcache_cache_control)); } @@ -453,6 +454,7 @@ nserror llcache_handle_force_stream(llcache_handle *handle) nserror llcache_handle_invalidate_cache_data(llcache_handle *handle) { if (handle->object != NULL && handle->object->fetch.fetch == NULL) { + free(handle->object->cache.etag); memset(&handle->object->cache, 0, sizeof(llcache_cache_control)); } @@ -1596,6 +1598,7 @@ nserror llcache_query_handle_response(bool proceed, void *cbpw) return llcache_object_refetch(object); /* Invalidate cache-control data */ + free(object->cache.etag); memset(&object->cache, 0, sizeof(llcache_cache_control)); /* Mark it complete */ object->fetch.state = LLCACHE_FETCH_COMPLETE; @@ -1668,6 +1671,7 @@ void llcache_fetch_callback(fetch_msg msg, void *p, const void *data, (object->cache.max_age == INVALID_AGE && object->cache.expires == 0))) { /* Invalidate cache control data */ + free(object->cache.etag); memset(&(object->cache), 0, sizeof(llcache_cache_control)); } @@ -1706,6 +1710,7 @@ void llcache_fetch_callback(fetch_msg msg, void *p, const void *data, object->fetch.fetch = NULL; /* Invalidate cache control data */ + free(object->cache.etag); memset(&(object->cache), 0, sizeof(llcache_cache_control)); /** \todo Consider using errorcode for something */ @@ -1743,6 +1748,7 @@ void llcache_fetch_callback(fetch_msg msg, void *p, const void *data, object->fetch.fetch = NULL; /* Invalidate cache control data */ + free(object->cache.etag); memset(&(object->cache), 0, sizeof(llcache_cache_control)); object->fetch.state = LLCACHE_FETCH_COMPLETE; @@ -1777,6 +1783,7 @@ nserror llcache_fetch_redirect(llcache_object *object, const char *target, object->fetch.fetch = NULL; /* Invalidate the cache control data */ + free(object->cache.etag); memset(&(object->cache), 0, sizeof(llcache_cache_control)); /* And mark it complete */ object->fetch.state = LLCACHE_FETCH_COMPLETE; @@ -1902,6 +1909,7 @@ nserror llcache_fetch_notmodified(llcache_object *object, object->fetch.fetch = NULL; /* Invalidate our cache-control data */ + free(object->cache.etag); memset(&object->cache, 0, sizeof(llcache_cache_control)); /* Mark it complete */ object->fetch.state = LLCACHE_FETCH_COMPLETE; @@ -2171,6 +2179,7 @@ nserror llcache_fetch_auth(llcache_object *object, const char *realm) object->fetch.fetch = NULL; /* Invalidate cache-control data */ + free(object->cache.etag); memset(&object->cache, 0, sizeof(llcache_cache_control)); /* Destroy headers */ @@ -2244,6 +2253,7 @@ nserror llcache_fetch_cert_error(llcache_object *object, object->fetch.fetch = NULL; /* Invalidate cache-control data */ + free(object->cache.etag); memset(&object->cache, 0, sizeof(llcache_cache_control)); if (query_cb != NULL) { |