summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-09-18 09:56:28 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-09-18 09:56:28 +0000
commit0fda4f509be96659000e79f7c38ec5d1ac3c336f (patch)
tree653a7fde647b501a481b42c738ef981a0f49fd56
parent01240caa26017b41e7bf3ab02e0270b65766c97c (diff)
downloadnetsurf-0fda4f509be96659000e79f7c38ec5d1ac3c336f.tar.gz
netsurf-0fda4f509be96659000e79f7c38ec5d1ac3c336f.tar.bz2
Stop double-freeing the document in some error cases.
svn path=/trunk/netsurf/; revision=5369
-rw-r--r--render/html.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/render/html.c b/render/html.c
index 3e7779917..7f9eaf44f 100644
--- a/render/html.c
+++ b/render/html.c
@@ -701,6 +701,7 @@ encoding_change:
hubbub_parser_destroy(c->data.html.parser);
if (c->data.html.document) {
xmlFreeDoc(c->data.html.document);
+ c->data.html.document = NULL;
}
c->data.html.has_ns = false;
memset(c->data.html.ns, 0, sizeof(c->data.html.ns));
@@ -908,7 +909,6 @@ bool html_convert(struct content *c, int width, int height)
html = xmlDocGetRootElement(c->data.html.document);
if (html == 0 || strcmp((const char *) html->name, "html") != 0) {
LOG(("html element not found"));
- xmlFreeDoc(c->data.html.document);
msg_data.error = messages_get("ParsingFail");
content_broadcast(c, CONTENT_MSG_ERROR, msg_data);
return false;