summaryrefslogtreecommitdiff
path: root/content/llcache.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-11-23 18:21:56 +0000
committerVincent Sanders <vince@kyllikki.org>2014-11-23 18:21:56 +0000
commit5a78cd810f68cbfad436ca2ce007112163990458 (patch)
treef4ab7d1808f148de0d0850766998d0ee474edda6 /content/llcache.c
parent01b2bc5a57068b8957ee63b73fa48714d71f9205 (diff)
downloadnetsurf-5a78cd810f68cbfad436ca2ce007112163990458.tar.gz
netsurf-5a78cd810f68cbfad436ca2ce007112163990458.tar.bz2
correctly release source data from llcache
Diffstat (limited to 'content/llcache.c')
-rw-r--r--content/llcache.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/content/llcache.c b/content/llcache.c
index b8dc24df0..c786ad02d 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -891,8 +891,15 @@ static nserror llcache_object_destroy(llcache_object *object)
LLCACHE_LOG(("Destroying object %p", object));
+ if (object->source_data != NULL) {
+ if (object->store_state == LLCACHE_STATE_DISC) {
+ guit->llcache->release(object->url, BACKING_STORE_NONE);
+ } else {
+ free(object->source_data);
+ }
+ }
+
nsurl_unref(object->url);
- free(object->source_data);
if (object->fetch.fetch != NULL) {
fetch_abort(object->fetch.fetch);