summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-10-19 09:36:53 +0000
committerAndi Gutmans <andi@php.net>2000-10-19 09:36:53 +0000
commitc13cfa040d58231f3779f3b2b123a401994f8e35 (patch)
tree6771b80c32650a6c080bf035608f7e0fa3762876
parentf9606d82fafe4dede08f3d143a23326d9ff9a337 (diff)
downloadphp-git-c13cfa040d58231f3779f3b2b123a401994f8e35.tar.gz
- Constant expressions which are used multiple times need to be copy_ctored
-rw-r--r--Zend/zend_compile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 605980f7c3..1534b4d0ea 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -1861,7 +1861,10 @@ void do_list_end(znode *result, znode *expr CLS_DC)
opline->opcode = ZEND_FETCH_DIM_R;
break;
case IS_TMP_VAR:
+ opline->opcode = ZEND_FETCH_DIM_TMP_VAR;
+ break;
case IS_CONST: /* fetch_dim_tmp_var will handle this bogus fetch */
+ zval_copy_ctor(&expr->u.constant);
opline->opcode = ZEND_FETCH_DIM_TMP_VAR;
break;
}