diff options
author | Daniel Veillard <veillard@redhat.com> | 2014-03-21 17:05:51 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2014-03-21 17:05:51 +0800 |
commit | 6faa126fc3ba24a782e832cb0000d6d4f6b7b576 (patch) | |
tree | baa7fc29b0a4289226b488e7f5b66a792c8ed48c /parser.c | |
parent | 085b997cfd0cd19481d9eecab22da5adf67bcbdc (diff) | |
download | android_external_libxml2-6faa126fc3ba24a782e832cb0000d6d4f6b7b576.tar.gz android_external_libxml2-6faa126fc3ba24a782e832cb0000d6d4f6b7b576.tar.bz2 android_external_libxml2-6faa126fc3ba24a782e832cb0000d6d4f6b7b576.zip |
Fix xmlParseInNodeContext() if node is not element
We really need to have ctxt->instate == XML_PARSER_CONTENT when
jumping in content parsing
Bug reported by Frank Gross
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -13629,6 +13629,8 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen, xmlCtxtUseOptionsInternal(ctxt, options, NULL); xmlDetectSAX2(ctxt); ctxt->myDoc = doc; + /* parsing in context, i.e. as within existing content */ + ctxt->instate = XML_PARSER_CONTENT; fake = xmlNewComment(NULL); if (fake == NULL) { @@ -13664,7 +13666,6 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen, } cur = cur->parent; } - ctxt->instate = XML_PARSER_CONTENT; } if ((ctxt->validate) || (ctxt->replaceEntities != 0)) { |