[php-src] master: ext/standard: Add regression test for GH-21824 (#21828)

From: Date: Fri, 23 Oct 2026 04:30:03 +0000
Subject: [php-src] master: ext/standard: Add regression test for GH-21824 (#21828)
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-142620@lists.php.net to get a copy of this message
Author: Pratik Bhujel (prateekbhujel) Committer: GitHub (web-flow) Pusher: devnexen Date: 2026-10-23T05:29:59+01:00 Commit: https://github.com/php/php-src/commit/981c083a6528fb1b062b5ab9fe3bdcc46924eecc Raw diff: https://github.com/php/php-src/commit/981c083a6528fb1b062b5ab9fe3bdcc46924eecc.diff ext/standard: Add regression test for GH-21824 (#21828) Changed paths: A ext/standard/tests/serialize/gh21824.phpt Diff: diff --git a/ext/standard/tests/serialize/gh21824.phpt b/ext/standard/tests/serialize/gh21824.phpt new file mode 100644 index 000000000000..90de1482bd66 --- /dev/null +++ b/ext/standard/tests/serialize/gh21824.phpt @@ -0,0 +1,24 @@ +--TEST-- +GH-21824 (Crash in unserialize() with destructor reentry) +--ENV-- +USE_ZEND_ALLOC=0 +--FILE-- +<?php +class Trigger { + public function __destruct() { + unserialize('i:1;'); + } +} + +$payload = 'a:1019:{'; +for ($i = 0; $i < 1017; $i++) { + $payload .= "i:$i;s:1:\"A\";"; +} +$payload .= 'i:1017;O:7:"Trigger":0:{}'; +$payload .= 'i:1017;i:0;}'; + +unserialize($payload); +echo "Done\n"; +?> +--EXPECT-- +Done

« previous php.cvs (#142620) next »