File tree Expand file tree Collapse file tree 3 files changed +32
-1
lines changed
Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -46,6 +46,8 @@ PHP NEWS
4646
4747- XML:
4848 . Move away from to-be-deprecated libxml fields. (nielsdos)
49+ . Fixed bug GH-14834 (Error installing PHP when --with-pear is used).
50+ (nielsdos)
4951
505220 Jun 2024, PHP 8.3.9
5153
Original file line number Diff line number Diff line change @@ -375,7 +375,7 @@ _get_entity(void *user, const xmlChar *name)
375375 if (ret == NULL )
376376 ret = xmlGetDocEntity (parser -> parser -> myDoc , name );
377377
378- if (ret == NULL || ( parser -> parser -> instate != XML_PARSER_ENTITY_VALUE && parser -> parser -> instate != XML_PARSER_ATTRIBUTE_VALUE ) ) {
378+ if (ret == NULL || parser -> parser -> instate == XML_PARSER_CONTENT ) {
379379 if (ret == NULL || ret -> etype == XML_INTERNAL_GENERAL_ENTITY || ret -> etype == XML_INTERNAL_PARAMETER_ENTITY || ret -> etype == XML_INTERNAL_PREDEFINED_ENTITY ) {
380380 /* Predefined entities will expand unless no cdata handler is present */
381381 if (parser -> h_default && ! (ret && ret -> etype == XML_INTERNAL_PREDEFINED_ENTITY && parser -> h_cdata )) {
Original file line number Diff line number Diff line change 1+ --TEST--
2+ GH-14834 (Error installing PHP when --with-pear is used)
3+ --EXTENSIONS--
4+ xml
5+ --FILE--
6+ <?php
7+ $ xml = <<<XML
8+ <?xml version="1.0" encoding="UTF-8"?>
9+ <!DOCTYPE root [
10+ <!ENTITY foo "ent">
11+ ]>
12+ <root>
13+ <element hint="hello'world">&foo;<![CDATA[ & ]]><?x & ?></element>
14+ </root>
15+ XML ;
16+
17+ $ parser = xml_parser_create ();
18+ xml_set_character_data_handler ($ parser , function ($ _ , $ data ) {
19+ var_dump ($ data );
20+ });
21+ xml_parse ($ parser , $ xml , true );
22+ ?>
23+ --EXPECT--
24+ string(3) "
25+ "
26+ string(3) "ent"
27+ string(7) " & "
28+ string(1) "
29+ "
You can’t perform that action at this time.
0 commit comments