@@ -9638,7 +9638,6 @@ ZEND_VM_HANDLER(205, ZEND_FRAMELESS_ICALL_1, ANY, UNUSED, SPEC(OBSERVER))
9638
9638
SAVE_OPLINE ();
9639
9639
9640
9640
zval * result = EX_VAR (opline -> result .var );
9641
- ZVAL_NULL (result );
9642
9641
zval * arg1 = GET_OP1_ZVAL_PTR_DEREF (BP_VAR_R );
9643
9642
if (EG (exception )) {
9644
9643
FREE_OP1 ();
@@ -9651,8 +9650,11 @@ ZEND_VM_HANDLER(205, ZEND_FRAMELESS_ICALL_1, ANY, UNUSED, SPEC(OBSERVER))
9651
9650
} else
9652
9651
#endif
9653
9652
{
9653
+ zval tmp_result ;
9654
+ ZVAL_NULL (& tmp_result );
9654
9655
zend_frameless_function_1 function = (zend_frameless_function_1 )ZEND_FLF_HANDLER (opline );
9655
- function (result , arg1 );
9656
+ function (& tmp_result , arg1 );
9657
+ ZVAL_COPY_VALUE (result , & tmp_result );
9656
9658
}
9657
9659
FREE_OP1 ();
9658
9660
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
@@ -9664,7 +9666,6 @@ ZEND_VM_HANDLER(206, ZEND_FRAMELESS_ICALL_2, ANY, ANY, SPEC(OBSERVER))
9664
9666
SAVE_OPLINE ();
9665
9667
9666
9668
zval * result = EX_VAR (opline -> result .var );
9667
- ZVAL_NULL (result );
9668
9669
zval * arg1 = GET_OP1_ZVAL_PTR_DEREF (BP_VAR_R );
9669
9670
zval * arg2 = GET_OP2_ZVAL_PTR_DEREF (BP_VAR_R );
9670
9671
if (EG (exception )) {
@@ -9679,8 +9680,11 @@ ZEND_VM_HANDLER(206, ZEND_FRAMELESS_ICALL_2, ANY, ANY, SPEC(OBSERVER))
9679
9680
} else
9680
9681
#endif
9681
9682
{
9683
+ zval tmp_result ;
9684
+ ZVAL_NULL (& tmp_result );
9682
9685
zend_frameless_function_2 function = (zend_frameless_function_2 )ZEND_FLF_HANDLER (opline );
9683
- function (result , arg1 , arg2 );
9686
+ function (& tmp_result , arg1 , arg2 );
9687
+ ZVAL_COPY_VALUE (result , & tmp_result );
9684
9688
}
9685
9689
9686
9690
FREE_OP1 ();
@@ -9698,7 +9702,6 @@ ZEND_VM_HANDLER(207, ZEND_FRAMELESS_ICALL_3, ANY, ANY, SPEC(OBSERVER))
9698
9702
SAVE_OPLINE ();
9699
9703
9700
9704
zval * result = EX_VAR (opline -> result .var );
9701
- ZVAL_NULL (result );
9702
9705
zval * arg1 = GET_OP1_ZVAL_PTR_DEREF (BP_VAR_R );
9703
9706
zval * arg2 = GET_OP2_ZVAL_PTR_DEREF (BP_VAR_R );
9704
9707
zval * arg3 = GET_OP_DATA_ZVAL_PTR_DEREF (BP_VAR_R );
@@ -9715,8 +9718,11 @@ ZEND_VM_HANDLER(207, ZEND_FRAMELESS_ICALL_3, ANY, ANY, SPEC(OBSERVER))
9715
9718
} else
9716
9719
#endif
9717
9720
{
9721
+ zval tmp_result ;
9722
+ ZVAL_NULL (& tmp_result );
9718
9723
zend_frameless_function_3 function = (zend_frameless_function_3 )ZEND_FLF_HANDLER (opline );
9719
- function (result , arg1 , arg2 , arg3 );
9724
+ function (& tmp_result , arg1 , arg2 , arg3 );
9725
+ ZVAL_COPY_VALUE (result , & tmp_result );
9720
9726
}
9721
9727
9722
9728
FREE_OP1 ();
0 commit comments