1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
--TEST--
GH-12223: Entity reference produces infinite loop in var_dump/print_r
--EXTENSIONS--
simplexml
--FILE--
<?php
$xml = <<<XML
<?xml version="1.0"?>
<!DOCTYPE somedoc [
<!ENTITY a "something">
<!ENTITY b "&a;">
<!ENTITY c "&b;">
]>
<somedoc>&c;</somedoc>
XML;
$sxe = simplexml_load_string($xml);
var_dump($sxe);
print_r($sxe);
?>
--EXPECT--
object(SimpleXMLElement)#1 (1) {
["c"]=>
object(SimpleXMLElement)#2 (1) {
["c"]=>
object(SimpleXMLElement)#3 (1) {
["b"]=>
object(SimpleXMLElement)#4 (1) {
["b"]=>
object(SimpleXMLElement)#5 (1) {
["a"]=>
object(SimpleXMLElement)#6 (1) {
["a"]=>
string(9) "something"
}
}
}
}
}
}
SimpleXMLElement Object
(
[c] => SimpleXMLElement Object
(
[c] => SimpleXMLElement Object
(
[b] => SimpleXMLElement Object
(
[b] => SimpleXMLElement Object
(
[a] => SimpleXMLElement Object
(
[a] => something
)
)
)
)
)
)
|