From: Nikita Popov Date: Thu, 9 Jul 2020 09:13:50 +0000 (+0200) Subject: Merge branch 'PHP-7.4' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04b17217b49d1e35765d47a29ccf1dd8ded57e63;p=php Merge branch 'PHP-7.4' * PHP-7.4: Fix bug #79599 in a different way Revert "Fixed bug #97599 (coredump in set_error_handler)" --- 04b17217b49d1e35765d47a29ccf1dd8ded57e63 diff --cc Zend/tests/bug79599.phpt index 0000000000,d3ae8edacc..b333f153a8 mode 000000,100644..100644 --- a/Zend/tests/bug79599.phpt +++ b/Zend/tests/bug79599.phpt @@@ -1,0 -1,27 +1,27 @@@ + --TEST-- + Bug #79599 (coredump in set_error_handler) + --FILE-- + getMessage()); + } + try{ + test2(); + }catch(\Exception $e){ + var_dump($e->getMessage()); + } + ?> + --EXPECT-- -string(21) "Undefined variable: b" -string(21) "Undefined variable: b" ++string(21) "Undefined variable $b" ++string(21) "Undefined variable $c" diff --cc Zend/zend_vm_def.h index 1365958e5a,64edccbdf7..c891736870 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@@ -2599,10 -2700,12 +2598,10 @@@ ZEND_VM_C_LABEL(try_assign_dim_array) ZEND_VM_C_GOTO(try_assign_dim_array); } } else { - if (OP1_TYPE != IS_VAR || EXPECTED(!Z_ISERROR_P(object_ptr))) { - zend_use_scalar_as_array(); - } + zend_use_scalar_as_array(); dim = GET_OP2_ZVAL_PTR(BP_VAR_R); ZEND_VM_C_LABEL(assign_dim_error): - FREE_UNFETCHED_OP_DATA(); + FREE_OP_DATA(); if (UNEXPECTED(RETURN_VALUE_USED(opline))) { ZVAL_NULL(EX_VAR(opline->result.var)); }