153aa9179Sopenharmony_ciFrom c6c7068e995c00d978282e7103c04ffcffca9a23 Mon Sep 17 00:00:00 2001 253aa9179Sopenharmony_ciFrom: Nick Wellnhofer <wellnhofer@aevum.de> 353aa9179Sopenharmony_ciDate: Mon, 21 Nov 2022 22:09:19 +0100 453aa9179Sopenharmony_ciSubject: [PATCH 24/28] parser: Remove dangerous check in xmlParseCharData 553aa9179Sopenharmony_ci 653aa9179Sopenharmony_ciIf this check succeeds, xmlParseCharData could be called over and over 753aa9179Sopenharmony_ciagain without making progress, resulting in an infinite loop. 853aa9179Sopenharmony_ci 953aa9179Sopenharmony_ciIt's only important to check for XML_PARSER_EOF which is done later. 1053aa9179Sopenharmony_ci 1153aa9179Sopenharmony_ciRelated to #441. 1253aa9179Sopenharmony_ci 1353aa9179Sopenharmony_ciReference: https://github.com/GNOME/libxml2/commit/0e193f0d61f6d6f29c31ac5f801975e810df7a04 1453aa9179Sopenharmony_ciConflict: NA 1553aa9179Sopenharmony_ci--- 1653aa9179Sopenharmony_ci parser.c | 3 --- 1753aa9179Sopenharmony_ci 1 file changed, 3 deletions(-) 1853aa9179Sopenharmony_ci 1953aa9179Sopenharmony_cidiff --git a/parser.c b/parser.c 2053aa9179Sopenharmony_ciindex 4360479..4405a7e 100644 2153aa9179Sopenharmony_ci--- a/parser.c 2253aa9179Sopenharmony_ci+++ b/parser.c 2353aa9179Sopenharmony_ci@@ -4535,9 +4535,6 @@ get_more: 2453aa9179Sopenharmony_ci line = ctxt->input->line; 2553aa9179Sopenharmony_ci col = ctxt->input->col; 2653aa9179Sopenharmony_ci } 2753aa9179Sopenharmony_ci- /* something really bad happened in the SAX callback */ 2853aa9179Sopenharmony_ci- if (ctxt->instate != XML_PARSER_CONTENT) 2953aa9179Sopenharmony_ci- return; 3053aa9179Sopenharmony_ci } 3153aa9179Sopenharmony_ci ctxt->input->cur = in; 3253aa9179Sopenharmony_ci if (*in == 0xD) { 3353aa9179Sopenharmony_ci-- 3453aa9179Sopenharmony_ci2.27.0 3553aa9179Sopenharmony_ci 36