Skip to content

stack overflow in dom #23116

Description

@djarfluka

Description

The following code:

<?php
$xml = str_repeat('<a>', 500000) . 'x' . str_repeat('</a>', 500000);
$d=new DOMDocument();
$d->loadXML($xml, LIBXML_PARSEHUGE);
$d->normalize();

Resulted in this output:

    #205 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #206 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #207 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #208 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #209 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #210 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #211 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #212 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #213 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #214 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #215 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #216 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #217 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #218 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #219 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #220 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #221 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #222 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #223 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #224 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #225 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #226 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #227 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #228 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #229 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #230 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #231 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #232 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #233 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #234 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #235 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #236 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #237 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #238 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #239 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #240 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #241 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #242 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #243 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #244 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #245 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #246 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #247 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930
    #248 0x555d68cdacb7 in php_dom_normalize_legacy /home/php-src/ext/dom/php_dom.c:1930

SUMMARY: AddressSanitizer: stack-overflow /home/php-src/ext/dom/php_dom.c:1930 in php_dom_normalize_legacy
==37==ABORTING
USE_ZEND_ALLOC=0

PHP Version

8.6.0

Operating System

ubuntu 22.04

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions