diff --git a/HTMLparser.c b/HTMLparser.c index e192f500..fd90a725 100644 --- a/HTMLparser.c +++ b/HTMLparser.c @@ -3134,7 +3134,8 @@ htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) { cur = CUR_CHAR(l); while (((cur != '<') || (ctxt->token == '<')) && ((cur != '&') || (ctxt->token == '&')) && - (cur != 0)) { + (cur != 0) && + (!PARSER_STOPPED(ctxt))) { if (!(IS_CHAR(cur))) { htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, "Invalid char in CDATA 0x%X\n", cur); @@ -4186,7 +4187,7 @@ htmlParseContent(htmlParserCtxtPtr ctxt) { currentNode = xmlStrdup(ctxt->name); depth = ctxt->nameNr; - while (1) { + while (!PARSER_STOPPED(ctxt)) { GROW; /*