From a1c405e0c50c627cdd9a7695b4c7d644238b6b9b Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 29 Apr 2016 14:04:23 +0200 Subject: Fix usages of zend_update_constant_ex If an in-place update in an external zval is performed, it needs to incref'd beforehand, not afterwards. --- Zend/zend_ini_parser.y | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'Zend/zend_ini_parser.y') diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index 315455bf88..ed047c0c2a 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -132,11 +132,10 @@ static void zend_ini_get_constant(zval *result, zval *name) if (!memchr(Z_STRVAL_P(name), ':', Z_STRLEN_P(name)) && (c = zend_get_constant(Z_STR_P(name))) != 0) { if (Z_TYPE_P(c) != IS_STRING) { - ZVAL_COPY_VALUE(&tmp, c); + ZVAL_COPY(&tmp, c); if (Z_OPT_CONSTANT(tmp)) { zval_update_constant_ex(&tmp, NULL); } - zval_opt_copy_ctor(&tmp); convert_to_string(&tmp); c = &tmp; } -- cgit v1.2.1