[php-src] master: Merge branch 'PHP-8.4' into PHP-8.5
David Carlier <[email protected]>
| Newsgroups | gmane.comp.php.cvs.general |
|---|---|
| Message-ID | <[email protected]> |
Author: David Carlier (devnexen)
Date: 2026-07-06T13:57:31+01:00
Commit: https://github.com/php/php-src/commit/1e6f8dff3277a40a9ec7fa3ee03e610e63bd7693
Raw diff: https://github.com/php/php-src/commit/1e6f8dff3277a40a9ec7fa3ee03e610e63bd7693.diff
Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
ext/dom: fix GH-22570 new test
Changed paths:
M ext/dom/tests/modern/xml/gh22570.phpt
Diff:
diff --git a/ext/dom/tests/modern/xml/gh22570.phpt b/ext/dom/tests/modern/xml/gh22570.phpt
index af78acf00dfa..3d648aac5e4d 100644
--- a/ext/dom/tests/modern/xml/gh22570.phpt
+++ b/ext/dom/tests/modern/xml/gh22570.phpt
@@ -15,13 +15,15 @@ if (getenv('SKIP_ASAN')) {
zend.max_allowed_stack_size=512K
--FILE--
<?php
-// Build via the DOM API, not the parser: libxml caps parse depth even with
-// LIBXML_PARSEHUGE on some platforms; the serializer recursion is the bug.
+// Build bottom-up so the insertion cycle-check stays O(1); top-down is O(n^2).
$doc = Dom\XMLDocument::createEmpty();
-$node = $doc->appendChild($doc->createElement('root'));
+$node = $doc->createElement('a');
for ($i = 0; $i < 100000; $i++) {
- $node = $node->appendChild($doc->createElement('a'));
+ $parent = $doc->createElement('a');
+ $parent->appendChild($node);
+ $node = $parent;
}
+$doc->appendChild($node);
try {
$doc->saveXml();