From cce7d5a1eceed880e4d44bc19f644237dc5a3615 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 21 Mar 2014 00:34:26 +0400 Subject: [PATCH] Fixed refcounting --- Zend/zend_execute_API.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 4ffa199d44..b3dc41ac1a 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -640,6 +640,7 @@ ZEND_API int zval_update_constant_ex(zval *p, void *arg, zend_class_entry *scope switch (Z_TYPE(const_value)) { case IS_STRING: + Z_ADDREF(const_value); ret = zend_symtable_update_current_key(Z_ARRVAL_P(p), Z_STR(const_value), HASH_UPDATE_KEY_IF_BEFORE); break; case IS_BOOL: @@ -659,7 +660,7 @@ ZEND_API int zval_update_constant_ex(zval *p, void *arg, zend_class_entry *scope if (ret == SUCCESS) { zend_hash_move_forward(Z_ARRVAL_P(p)); } - zval_dtor(&const_value); + zval_ptr_dtor(&const_value); } zend_hash_apply_with_argument(Z_ARRVAL_P(p), (apply_func_arg_t) zval_update_constant_inline_change, (void *) scope TSRMLS_CC); zend_hash_internal_pointer_reset(Z_ARRVAL_P(p)); -- 2.40.0