]> granicus.if.org Git - php/commitdiff
- Constant expressions which are used multiple times need to be copy_ctored
authorAndi Gutmans <andi@php.net>
Thu, 19 Oct 2000 09:36:53 +0000 (09:36 +0000)
committerAndi Gutmans <andi@php.net>
Thu, 19 Oct 2000 09:36:53 +0000 (09:36 +0000)
Zend/zend_compile.c

index 605980f7c395b21fbdff8d391bc5c7f6e1d9aca0..1534b4d0ead9121de3bfec4972619f0384f85aa1 100644 (file)
@@ -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;
                                }