]> granicus.if.org Git - php/commitdiff
Fix zend_fetch_dimension_const()
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 24 Nov 2017 20:24:13 +0000 (21:24 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 24 Nov 2017 20:24:13 +0000 (21:24 +0100)
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.

Zend/zend_execute.c

index 2025eb361975970dfe2979746839e1e75fb8438b..7ca76d6effbd3304c03d2e4da5730a1bb2907252 100644 (file)
@@ -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);
        }
 }