summaryrefslogtreecommitdiff
path: root/content/content.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-04-08 07:09:09 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-04-08 07:09:09 +0000
commitbba7fbbd9b8c8244ff5a410190d5f8dfac472e41 (patch)
treeb52b00a531d3df13743464d103ba8d77e4b9eb26 /content/content.c
parent4682f0ccd866b86b430dbed8862ede91c1d1a061 (diff)
downloadnetsurf-bba7fbbd9b8c8244ff5a410190d5f8dfac472e41.tar.gz
netsurf-bba7fbbd9b8c8244ff5a410190d5f8dfac472e41.tar.bz2
Abort and release llcache handle on failure to process data.
Make hlcache retrieval ignore erroneous contents. svn path=/trunk/netsurf/; revision=10296
Diffstat (limited to 'content/content.c')
-rw-r--r--content/content.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/content/content.c b/content/content.c
index 1a1fc9927..2bf94431d 100644
--- a/content/content.c
+++ b/content/content.c
@@ -527,6 +527,9 @@ nserror content_llcache_callback(llcache_handle *llcache,
if (handler_map[c->type].process_data(c,
(const char *) event->data.data.buf,
event->data.data.len) == false) {
+ llcache_handle_abort(c->llcache);
+ llcache_handle_release(c->llcache);
+ c->llcache = NULL;
c->status = CONTENT_STATUS_ERROR;
/** \todo It's not clear what error this is */
error = NSERROR_NOMEM;