@@ -1689,13 +1689,8 @@ ZEND_VM_HELPER(zend_fetch_static_prop_helper, CONST|TMPVAR|CV, UNUSED|CONST|VAR,
1689
1689
SAVE_OPLINE ();
1690
1690
1691
1691
if (UNEXPECTED (zend_fetch_static_property_address (& prop , NULL , opline -> extended_value & ~ZEND_FETCH_OBJ_FLAGS , type , opline -> extended_value & ZEND_FETCH_OBJ_FLAGS OPLINE_CC EXECUTE_DATA_CC ) != SUCCESS )) {
1692
- if (EG (exception )) {
1693
- ZVAL_UNDEF (EX_VAR (opline -> result .var ));
1694
- HANDLE_EXCEPTION ();
1695
- } else {
1696
- ZEND_ASSERT (type == BP_VAR_IS );
1697
- prop = & EG (uninitialized_zval );
1698
- }
1692
+ ZEND_ASSERT (EG (exception ) || (type == BP_VAR_IS ));
1693
+ prop = & EG (uninitialized_zval );
1699
1694
}
1700
1695
1701
1696
if (type == BP_VAR_R || type == BP_VAR_IS ) {
@@ -2435,9 +2430,7 @@ ZEND_VM_C_LABEL(try_assign_dim_array):
2435
2430
if (OP2_TYPE == IS_UNUSED ) {
2436
2431
zend_use_new_element_for_string ();
2437
2432
FREE_UNFETCHED_OP_DATA ();
2438
- FREE_OP1_VAR_PTR ();
2439
2433
UNDEF_RESULT ();
2440
- HANDLE_EXCEPTION ();
2441
2434
} else {
2442
2435
dim = GET_OP2_ZVAL_PTR (BP_VAR_R );
2443
2436
value = GET_OP_DATA_ZVAL_PTR_DEREF (BP_VAR_R );
@@ -2448,14 +2441,13 @@ ZEND_VM_C_LABEL(try_assign_dim_array):
2448
2441
zend_property_info * error_prop ;
2449
2442
if (Z_ISREF_P (orig_object_ptr ) && (error_prop = zend_check_ref_array_assignable (Z_REF_P (orig_object_ptr ))) != NULL ) {
2450
2443
zend_throw_auto_init_in_ref_error (error_prop , "array" );
2451
- FREE_UNFETCHED_OP2 ( );
2444
+ dim = GET_OP2_ZVAL_PTR ( BP_VAR_R );
2452
2445
FREE_UNFETCHED_OP_DATA ();
2453
- FREE_OP1_VAR_PTR ();
2454
2446
UNDEF_RESULT ();
2455
- HANDLE_EXCEPTION ();
2447
+ } else {
2448
+ ZVAL_ARR (object_ptr , zend_new_array (8 ));
2449
+ ZEND_VM_C_GOTO (try_assign_dim_array );
2456
2450
}
2457
- ZVAL_ARR (object_ptr , zend_new_array (8 ));
2458
- ZEND_VM_C_GOTO (try_assign_dim_array );
2459
2451
} else {
2460
2452
if (OP1_TYPE != IS_VAR || EXPECTED (!Z_ISERROR_P (object_ptr ))) {
2461
2453
zend_use_scalar_as_array ();
0 commit comments