diff options
author | William M. Brack <wbrack@src.gnome.org> | 2001-09-23 01:55:08 +0000 |
---|---|---|
committer | William M. Brack <wbrack@src.gnome.org> | 2001-09-23 01:55:08 +0000 |
commit | d28e48ab492dbd8f351514d3a0854e3c24eea4bc (patch) | |
tree | b048ea42f3bd739c205fd74f5f89a3dc55e02398 | |
parent | b1d62871db75d927bf3f9a18a27845059a67820c (diff) | |
download | libxml2-d28e48ab492dbd8f351514d3a0854e3c24eea4bc.tar.gz |
fix loop in HTMLparser.c
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | HTMLparser.c | 3 |
2 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Sat Sep 22 10:00:00 HKT 2001 William Brack <wbrack@mmm.com.hk> + + * HTMLparser.c: small enhancement to prevent loop on + unrecognizable data + Fri Sep 21 11:45:53 CEST 2001 Daniel Veillard <daniel@veillard.com> * parserInternals.c: applying patch from bug #60757 this diff --git a/HTMLparser.c b/HTMLparser.c index d13f8c18..cdff8dd4 100644 --- a/HTMLparser.c +++ b/HTMLparser.c @@ -3394,6 +3394,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) { htmlParserNodeInfo node_info; xmlChar *oldname; int depth = ctxt->nameNr; + xmlChar *oldptr; /* Capture start position */ if (ctxt->record_info) { @@ -3516,7 +3517,9 @@ htmlParseElement(htmlParserCtxtPtr ctxt) { currentNode = xmlStrdup(ctxt->name); depth = ctxt->nameNr; while (IS_CHAR(CUR)) { + oldptr = ctxt->input->cur; htmlParseContent(ctxt); + if (oldptr==ctxt->input->cur) break; if (ctxt->nameNr < depth) break; } |