diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2010-04-17 21:17:08 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2010-04-17 21:17:08 +0000 |
commit | 248a53f6bad612213b7cc7f89abeb0b5615543ec (patch) | |
tree | 4d51ba0bca8ca4fd9fe86931f5c534b1fe0be254 /content | |
parent | 98b690a900148f09299d678f2b8abb3dbff22640 (diff) | |
download | netsurf-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.c | 3 |
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; } |