[libxml2] Fix xmlParseInNodeContext() if node is not element



commit 6faa126fc3ba24a782e832cb0000d6d4f6b7b576
Author: Daniel Veillard <veillard redhat com>
Date:   Fri Mar 21 17:05:51 2014 +0800

    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

 parser.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/parser.c b/parser.c
index 0bf1aa2..9347ac9 100644
--- a/parser.c
+++ b/parser.c
@@ -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)) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]