File tree 1 file changed +6
-0
lines changed
1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -2674,6 +2674,9 @@ static zend_always_inline zend_result _zend_update_type_info(
2674
2674
}
2675
2675
}
2676
2676
if (opline -> extended_value == IS_ARRAY ) {
2677
+ if (t1 & (MAY_BE_UNDEF |MAY_BE_NULL )) {
2678
+ tmp |= MAY_BE_ARRAY_EMPTY ;
2679
+ }
2677
2680
if (t1 & MAY_BE_ARRAY ) {
2678
2681
tmp |= t1 & (MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF );
2679
2682
}
@@ -3394,6 +3397,9 @@ static zend_always_inline zend_result _zend_update_type_info(
3394
3397
arr_type = RES_USE_INFO ();
3395
3398
}
3396
3399
tmp = MAY_BE_RC1 |MAY_BE_ARRAY |arr_type ;
3400
+ if (opline -> opcode == ZEND_INIT_ARRAY && opline -> op1_type == IS_UNUSED ) {
3401
+ tmp |= MAY_BE_ARRAY_EMPTY ;
3402
+ }
3397
3403
if (opline -> op1_type != IS_UNUSED
3398
3404
&& (opline -> op2_type == IS_UNUSED
3399
3405
|| (t2 & (MAY_BE_UNDEF |MAY_BE_NULL |MAY_BE_FALSE |MAY_BE_TRUE |MAY_BE_LONG |MAY_BE_DOUBLE |MAY_BE_RESOURCE |MAY_BE_STRING )))) {
You can’t perform that action at this time.
0 commit comments