summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-04-17 21:17:08 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-04-17 21:17:08 +0000
commit248a53f6bad612213b7cc7f89abeb0b5615543ec (patch)
tree4d51ba0bca8ca4fd9fe86931f5c534b1fe0be254 /content
parent98b690a900148f09299d678f2b8abb3dbff22640 (diff)
downloadnetsurf-248a53f6bad612213b7cc7f89abeb0b5615543ec.tar.gz
netsurf-248a53f6bad612213b7cc7f89abeb0b5615543ec.tar.bz2
Avoid double free when shrink-wrapping source data on fetch completion.
svn path=/trunk/netsurf/; revision=10423
Diffstat (limited to 'content')
-rw-r--r--content/llcache.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/content/llcache.c b/content/llcache.c
index 0d20fe8ac..977c03804 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -1610,7 +1610,8 @@ void llcache_fetch_callback(fetch_msg msg, void *p, const void *data,
/* Shrink source buffer to required size */
temp = realloc(object->source_data,
object->source_len);
- if (temp != NULL) {
+ /* If source_len is 0, then temp may be NULL */
+ if (temp != NULL || object->source_len == 0) {
object->source_data = temp;
object->source_alloc = object->source_len;
}