diff --git a/ChangeLog b/ChangeLog index 063bb943..a7d9198e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Sep 22 10:00:00 HKT 2001 William Brack + + * HTMLparser.c: small enhancement to prevent loop on + unrecognizable data + Fri Sep 21 11:45:53 CEST 2001 Daniel Veillard * 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; }