]> granicus.if.org Git - php/commitdiff
Fixed zend_rebuild_symbol_table() using IS_INDIRECT
authorDmitry Stogov <dmitry@zend.com>
Mon, 24 Feb 2014 07:31:46 +0000 (11:31 +0400)
committerDmitry Stogov <dmitry@zend.com>
Mon, 24 Feb 2014 07:31:46 +0000 (11:31 +0400)
Zend/zend_execute_API.c

index 147461f8384d208f929d2339bd91f4844a07b0c8..26791c357bfaa9fbd0d2c16371ced2ff516dca01 100644 (file)
@@ -1724,10 +1724,10 @@ ZEND_API void zend_rebuild_symbol_table(TSRMLS_D) /* {{{ */
                        }
                        for (i = 0; i < ex->op_array->last_var; i++) {
                                if (Z_TYPE_P(EX_VAR_NUM_2(ex, i)) != IS_UNDEF) {
-                                       // TODO: use INDIRECT???
-                                       zend_hash_update(EG(active_symbol_table),
+                                       zval *zv = zend_hash_update(EG(active_symbol_table),
                                                ex->op_array->vars[i],
                                                EX_VAR_NUM_2(ex, i));
+                                       ZVAL_INDIRECT(EX_VAR_NUM_2(ex, i), zv);
                                }
                        }
                }