From 2845f859c19965691855c66bc18d94a4e06ff329 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 9 Oct 2018 16:04:43 +0200 Subject: Fix #30875: xml_parse_into_struct() does not resolve entities Setting up an empty default handler is not only useless, but actually harmful, since internal entity-references are not resolved anymore. From the libexpat docs[1]: | Setting the handler with this call has the side effect of | turning off expansion of references to internally defined general | entities. Instead these references are passed to the default | handler. [1] --- ext/xml/xml.c | 1 - 1 file changed, 1 deletion(-) (limited to 'ext/xml/xml.c') diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 09a7738205..494c347201 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -1447,7 +1447,6 @@ PHP_FUNCTION(xml_parse_into_struct) parser->level = 0; parser->ltags = safe_emalloc(XML_MAXLEVEL, sizeof(char *), 0); - XML_SetDefaultHandler(parser->parser, _xml_defaultHandler); XML_SetElementHandler(parser->parser, _xml_startElementHandler, _xml_endElementHandler); XML_SetCharacterDataHandler(parser->parser, _xml_characterDataHandler); -- cgit v1.2.1