From 1b9d398517befeb944cbbadadf10992b07e96fa2 Mon Sep 17 00:00:00 2001 From: Snild Dolkow Date: Mon, 4 Sep 2023 17:21:14 +0200 Subject: [PATCH] Don't update partial token heuristic on error Suggested-by: Sebastian Pipping --- expat/lib/xmlparse.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c index 407a3bf6..71968522 100644 --- a/expat/lib/xmlparse.c +++ b/expat/lib/xmlparse.c @@ -997,11 +997,13 @@ callProcessor(XML_Parser parser, const char *start, const char *end, } } const enum XML_Error ret = parser->m_processor(parser, start, end, endPtr); - // if we consumed nothing, remember what we had on this parse attempt. - if (*endPtr == start) { - parser->m_partialTokenBytesBefore = have_now; - } else { - parser->m_partialTokenBytesBefore = 0; + if (ret == XML_ERROR_NONE) { + // if we consumed nothing, remember what we had on this parse attempt. + if (*endPtr == start) { + parser->m_partialTokenBytesBefore = have_now; + } else { + parser->m_partialTokenBytesBefore = 0; + } } return ret; }