summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-04-29 14:04:23 +0200
committerNikita Popov <nikic@php.net>2016-04-29 14:06:39 +0200
commita1c405e0c50c627cdd9a7695b4c7d644238b6b9b (patch)
treed4dbc04750b2c5e382b202f2db64db28608ce534 /ext/reflection/php_reflection.c
parent416e22d2bb496da39e95136b1eded64869f10dd0 (diff)
downloadphp-git-a1c405e0c50c627cdd9a7695b4c7d644238b6b9b.tar.gz
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.
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index b4bd65182a..d618627178 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -2884,11 +2884,9 @@ ZEND_METHOD(reflection_parameter, getDefaultValue)
return;
}
- ZVAL_COPY_VALUE(return_value, RT_CONSTANT(&param->fptr->op_array, precv->op2));
+ ZVAL_COPY(return_value, RT_CONSTANT(&param->fptr->op_array, precv->op2));
if (Z_CONSTANT_P(return_value)) {
zval_update_constant_ex(return_value, param->fptr->common.scope);
- } else {
- zval_copy_ctor(return_value);
}
}
/* }}} */