diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-11-23 18:21:56 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-11-23 18:21:56 +0000 |
commit | 5a78cd810f68cbfad436ca2ce007112163990458 (patch) | |
tree | f4ab7d1808f148de0d0850766998d0ee474edda6 /content/llcache.c | |
parent | 01b2bc5a57068b8957ee63b73fa48714d71f9205 (diff) | |
download | netsurf-5a78cd810f68cbfad436ca2ce007112163990458.tar.gz netsurf-5a78cd810f68cbfad436ca2ce007112163990458.tar.bz2 |
correctly release source data from llcache
Diffstat (limited to 'content/llcache.c')
-rw-r--r-- | content/llcache.c | 9 |
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); |