From d28e48ab492dbd8f351514d3a0854e3c24eea4bc Mon Sep 17 00:00:00 2001 From: "William M. Brack" Date: Sun, 23 Sep 2001 01:55:08 +0000 Subject: [PATCH] fix loop in HTMLparser.c --- ChangeLog | 5 +++++ HTMLparser.c | 3 +++ 2 files changed, 8 insertions(+) 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; }