Skip to content

stack overflow in dom #23120

Closed
Closed

Description

@djarfluka

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

  1. self-assigned this
    on Aug 8, 2026
  2. added a commit that references this issue on Aug 8, 2026
    c4c356a
  3. added a commit that references this issue on Aug 8, 2026
    c742440
  4. added a commit that references this issue on Aug 8, 2026
    19eda22
  5. added 2 commits that reference this issue on Aug 9, 2026
    067f438
    1a997ac
  6. added a commit that references this issue on Aug 9, 2026
    7c3c8d6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions