From: Nikita Popov Date: Mon, 24 Aug 2020 14:23:33 +0000 (+0200) Subject: Merge branch 'PHP-7.4' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=779e9044656c674f1c0ed93530507e0bd5f071d5;p=php Merge branch 'PHP-7.4' * PHP-7.4: Fix refcounting --- 779e9044656c674f1c0ed93530507e0bd5f071d5 diff --cc Zend/zend_vm_def.h index 805f8f0a3e,233138cded..a585a60fbf --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@@ -5280,13 -5187,12 +5281,14 @@@ ZEND_VM_C_LABEL(send_array) if (EXPECTED(!must_wrap)) { ZVAL_COPY(param, arg); } else { + Z_TRY_ADDREF_P(arg); ZVAL_NEW_REF(param, arg); } - ZEND_CALL_NUM_ARGS(EX(call))++; - arg_num++; - param++; + if (!name) { + ZEND_CALL_NUM_ARGS(EX(call))++; + arg_num++; + param++; + } } ZEND_HASH_FOREACH_END(); } } diff --cc Zend/zend_vm_execute.h index d87edfc570,941c1c48f6..6f0bb9197b --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@@ -2175,13 -2131,12 +2176,14 @@@ send_array if (EXPECTED(!must_wrap)) { ZVAL_COPY(param, arg); } else { + Z_TRY_ADDREF_P(arg); ZVAL_NEW_REF(param, arg); } - ZEND_CALL_NUM_ARGS(EX(call))++; - arg_num++; - param++; + if (!name) { + ZEND_CALL_NUM_ARGS(EX(call))++; + arg_num++; + param++; + } } ZEND_HASH_FOREACH_END(); } }