Skip to content

Commit 9104f4f

Browse files
committed
Add regression test for GH-21824
1 parent 2f8940f commit 9104f4f

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
GH-21824 (Crash in unserialize() with destructor reentry)
3+
--ENV--
4+
USE_ZEND_ALLOC=0
5+
--FILE--
6+
<?php
7+
class Trigger {
8+
public function __destruct() {
9+
unserialize('i:1;');
10+
}
11+
}
12+
13+
$payload = 'a:1019:{';
14+
for ($i = 0; $i < 1017; $i++) {
15+
$payload .= "i:$i;s:1:\"A\";";
16+
}
17+
$payload .= 'i:1017;O:7:"Trigger":0:{}';
18+
$payload .= 'i:1017;i:0;}';
19+
20+
unserialize($payload);
21+
echo "Done\n";
22+
?>
23+
--EXPECT--
24+
Done

0 commit comments

Comments
 (0)