File tree 2 files changed +21
-0
lines changed
2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -3399,6 +3399,9 @@ static zend_always_inline zend_result _zend_update_type_info(
3399
3399
opline -> opcode != ZEND_FETCH_DIM_R && opline -> opcode != ZEND_FETCH_DIM_IS
3400
3400
&& opline -> opcode != ZEND_FETCH_LIST_R ,
3401
3401
opline -> op2_type == IS_UNUSED );
3402
+ if (opline -> opcode == ZEND_FETCH_DIM_FUNC_ARG && (t1 & (MAY_BE_TRUE |MAY_BE_LONG |MAY_BE_DOUBLE |MAY_BE_RESOURCE ))) {
3403
+ tmp |= MAY_BE_NULL ;
3404
+ }
3402
3405
if (opline -> opcode == ZEND_FETCH_DIM_IS && (t1 & MAY_BE_STRING )) {
3403
3406
tmp |= MAY_BE_NULL ;
3404
3407
}
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ JIT FETCH_DIM_FUNC_ARG: 002
3
+ --INI--
4
+ opcache.enable=1
5
+ opcache.enable_cli=1
6
+ opcache.file_update_protection=0
7
+ opcache.jit_buffer_size=1M
8
+ --SKIPIF--
9
+ <?php require_once ('skipif.inc ' ); ?>
10
+ --FILE--
11
+ <?php
12
+ new class (true["" ]) {
13
+ }
14
+ ?>
15
+ DONE
16
+ --EXPECTF--
17
+ Warning: Trying to access array offset on value of type bool in %sfetch_dim_func_arg_002.php on line 2
18
+ DONE
You can’t perform that action at this time.
0 commit comments