Skip to content

Commit 9488684

Browse files
committed
Add test for GH-18113
Fixed in dstogov/ir#110 and merged via b932c26. Closes GH-18113.
1 parent b932c26 commit 9488684

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ PHP NEWS
6161
. Fixed bug GH-17966 (Symfony JIT 1205 assertion failure). (nielsdos)
6262
. Fixed bug GH-18037 (SEGV Zend/zend_execute.c). (nielsdos)
6363
. Fixed bug GH-18050 (IN_ARRAY optimization in DFA pass is broken). (ilutov)
64+
. Fixed bug GH-18113 (stack-buffer-overflow ext/opcache/jit/ir/ir_sccp.c).
65+
(nielsdos)
6466

6567
- Standard:
6668
. Fix memory leaks in array_any() / array_all(). (nielsdos)

ext/opcache/tests/jit/gh18113.phpt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
--TEST--
2+
GH-18113 (stack-buffer-overflow ext/opcache/jit/ir/ir_sccp.c)
3+
--EXTENSIONS--
4+
opcache
5+
--INI--
6+
opcache.jit=1205
7+
--FILE--
8+
<?php
9+
function lookup($s){
10+
switch($fusion){
11+
case 1: return 1;
12+
case 4: return 4;
13+
case 5: return 5;
14+
case 14: return 14;
15+
case 15: return 15;
16+
case 488: return 488;
17+
case 489: return 489;
18+
case 490: return 490;
19+
case 491: return 491;
20+
case 492: return 492;
21+
case 493: return 493;
22+
case 494: return 494;
23+
case 495: return 495;
24+
case 496: return 496;
25+
case 497: return 497;
26+
case 498: return 498;
27+
case 499: return 499;
28+
case 500: return 500;
29+
case 501: return 501;
30+
case 502: return 502;
31+
case 503: return 503;
32+
case 504: return 504;
33+
case 505: return 505;
34+
case 506: return 506;
35+
case 507: return 507;
36+
case 508: return 508;
37+
case 509: return 509;
38+
case 510: return 510;
39+
case 511: return 511;
40+
case 512: return 512;
41+
case 513: return 513;
42+
};
43+
}
44+
echo "Done\n";
45+
?>
46+
--EXPECT--
47+
Done

0 commit comments

Comments
 (0)