From 4007706509c7e9f19d0ab6d2074c765fda88a5b2 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Wed, 31 Jul 2019 20:15:38 +0200 Subject: [PATCH] xmlparse.c: Fix effect of XML_StopParser for end element handlers (#240) --- expat/lib/xmlparse.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c index a3390fbf..e89a2afd 100644 --- a/expat/lib/xmlparse.c +++ b/expat/lib/xmlparse.c @@ -2853,8 +2853,13 @@ doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, parser->m_freeBindingList = b; b->prefix->binding = b->prevPrefixBinding; } - if (parser->m_tagLevel == 0) - return epilogProcessor(parser, next, end, nextPtr); + if ((parser->m_tagLevel == 0) + && (parser->m_parsingStatus.parsing != XML_FINISHED)) { + if (parser->m_parsingStatus.parsing == XML_SUSPENDED) + parser->m_processor = epilogProcessor; + else + return epilogProcessor(parser, next, end, nextPtr); + } } break; case XML_TOK_CHAR_REF: { -- 2.40.0