Files
php-src/ext/simplexml/tests/oom_json_encode.phpt
3584a98bda Avoid state corruption via bailout
- Replace bailout on OOM with UnwindExit
- Properly reset various globals that may be accessed during startup

Fix GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
Fix GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: Jakub Zelenka <bukka@php.net>
Co-authored-by: Nora Dossche <7771979+ndossche@users.noreply.github.com>
Co-authored-by: Nicolas Grekas <nicolas.grekas@gmail.com>
2026-10-21 16:06:22 +02:00

21 lines
498 B
PHP

--TEST--
json_encode() of large tree doesn't reach hard memory limit
--EXTENSIONS--
simplexml
--INI--
memory_limit=64M
--FILE--
<?php
$path = __DIR__ . '/oom_json_encode.xml';
file_put_contents($path, '<r>' . str_repeat('<a/>', 750000) . '</r>');
$xml = simplexml_load_file($path);
$result = json_encode($xml);
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/oom_json_encode.xml');
?>
--EXPECTF--
Fatal error: Allowed memory size of 67108864 bytes exhausted %S(tried to allocate %d bytes) in %s on line %d