Repository navigation
stack overflow in dom #23120
Copy link
Copy link
Closed
Labels
Description
Description
The following code:
<?php
$xml = str_repeat('<a>', 400000) . 'x' . str_repeat('</a>', 400000);
$d1=new DOMDocument(); $d1->loadXML($xml, LIBXML_PARSEHUGE);
$d2=new DOMDocument(); $d2->loadXML($xml, LIBXML_PARSEHUGE);
var_dump($d1->documentElement->isEqualNode($d2->documentElement));Resulted in this output:
#185 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#186 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#187 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#188 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#189 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#190 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#191 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#192 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#193 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#194 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#195 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#196 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#197 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#198 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#199 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#200 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#201 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#202 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#203 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#204 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#205 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#206 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#207 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#208 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#209 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#210 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#211 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#212 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#213 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#214 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#215 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#216 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#217 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#218 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#219 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#220 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#221 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#222 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#223 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#224 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#225 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#226 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#227 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#228 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#229 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#230 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#231 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#232 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#233 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#234 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#235 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#236 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#237 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#238 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#239 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#240 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#241 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#242 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#243 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#244 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#245 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#246 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#247 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
#248 0x55f5cd8777ca in php_dom_node_list_equality_check_ordered_xmlNode /home/php-src/ext/dom/node.c:1725
SUMMARY: AddressSanitizer: stack-overflow /home/php-src/ext/dom/node.c:1751 in php_dom_node_is_equal_node
==54==ABORTING
USE_ZEND_ALLOC=0
PHP Version
8.6.0
Operating System
No response
Activity
Fix GH-23120: DOMNode::isEqualNode stack overflow on deeply nested tr…
Merge branch 'PHP-8.5'
Merge branch 'PHP-8.4' into PHP-8.5
Fix GH-23120 test on Windows x86 (#23180)
Merge branch 'PHP-8.5'
Merge branch 'PHP-8.4' into PHP-8.5