66 lines
2.0 KiB
Diff
66 lines
2.0 KiB
Diff
|
|
From bcf353990c651d589c74aa0f283f9b392bbb68bf Mon Sep 17 00:00:00 2001
|
||
|
|
From: =?UTF-8?q?Berkay=20Eren=20=C3=9Cr=C3=BCn?= <berkay.ueruen@siemens.com>
|
||
|
|
Date: Wed, 19 Mar 2025 15:37:21 +0100
|
||
|
|
Subject: [PATCH] Make parser->m_eventPtr handling clearer
|
||
|
|
|
||
|
|
Reference: https://github.com/libexpat/libexpat/pull/989/commits/bcf353990c651d589c74aa0f283f9b392bbb68bf
|
||
|
|
Conflict: NA
|
||
|
|
|
||
|
|
---
|
||
|
|
lib/xmlparse.c | 8 ++++++--
|
||
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
|
||
|
|
index 67bd3a54..f8ae864a 100644
|
||
|
|
--- a/lib/xmlparse.c
|
||
|
|
+++ b/lib/xmlparse.c
|
||
|
|
@@ -4334,12 +4334,13 @@ doCdataSection(XML_Parser parser, const ENCODING *enc, const char **startPtr,
|
||
|
|
/* LCOV_EXCL_STOP */
|
||
|
|
}
|
||
|
|
|
||
|
|
- *eventPP = s = next;
|
||
|
|
switch (parser->m_parsingStatus.parsing) {
|
||
|
|
case XML_SUSPENDED:
|
||
|
|
+ *eventPP = next;
|
||
|
|
*nextPtr = next;
|
||
|
|
return XML_ERROR_NONE;
|
||
|
|
case XML_FINISHED:
|
||
|
|
+ *eventPP = next;
|
||
|
|
return XML_ERROR_ABORTED;
|
||
|
|
case XML_PARSING:
|
||
|
|
if (parser->m_reenter) {
|
||
|
|
@@ -4347,6 +4348,7 @@ doCdataSection(XML_Parser parser, const ENCODING *enc, const char **startPtr,
|
||
|
|
}
|
||
|
|
/* Fall through */
|
||
|
|
default:;
|
||
|
|
+ *eventPP = s = next;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
/* not reached */
|
||
|
|
@@ -5953,12 +5955,13 @@ epilogProcessor(XML_Parser parser, const char *s, const char *end,
|
||
|
|
default:
|
||
|
|
return XML_ERROR_JUNK_AFTER_DOC_ELEMENT;
|
||
|
|
}
|
||
|
|
- parser->m_eventPtr = s = next;
|
||
|
|
switch (parser->m_parsingStatus.parsing) {
|
||
|
|
case XML_SUSPENDED:
|
||
|
|
+ parser->m_eventPtr = next;
|
||
|
|
*nextPtr = next;
|
||
|
|
return XML_ERROR_NONE;
|
||
|
|
case XML_FINISHED:
|
||
|
|
+ parser->m_eventPtr = next;
|
||
|
|
return XML_ERROR_ABORTED;
|
||
|
|
case XML_PARSING:
|
||
|
|
if (parser->m_reenter) {
|
||
|
|
@@ -5966,6 +5969,7 @@ epilogProcessor(XML_Parser parser, const char *s, const char *end,
|
||
|
|
}
|
||
|
|
/* Fall through */
|
||
|
|
default:;
|
||
|
|
+ parser->m_eventPtr = s = next;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
--
|
||
|
|
2.37.3
|
||
|
|
|