From: Nikita Popov Date: Fri, 24 Nov 2017 20:24:13 +0000 (+0100) Subject: Fix zend_fetch_dimension_const() X-Git-Tag: php-7.3.0alpha1~957 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6b258197e83a19c40c41604dc47f079e4dc95919;p=php Fix zend_fetch_dimension_const() Pass IS_TMP_VAR instead of IS_CONST as operand type, as IS_CONST requires additional guarantees that are not necessarily satisfied by the caller. --- diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 2025eb3619..7ca76d6eff 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1843,9 +1843,9 @@ static zend_never_inline void zend_fetch_dimension_address_read_LIST(zval *resul ZEND_API void zend_fetch_dimension_const(zval *result, zval *container, zval *dim, int type) { if (type == BP_VAR_IS) { - zend_fetch_dimension_address_read_IS(result, container, dim, IS_CONST NO_EXECUTE_DATA_CC); + zend_fetch_dimension_address_read_IS(result, container, dim, IS_TMP_VAR NO_EXECUTE_DATA_CC); } else { - zend_fetch_dimension_address_read_R(result, container, dim, IS_CONST NO_EXECUTE_DATA_CC); + zend_fetch_dimension_address_read_R(result, container, dim, IS_TMP_VAR NO_EXECUTE_DATA_CC); } }