From 1f5327a6022fedc1985d2daa6d189313d808b08b Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Fri, 1 Jun 2012 14:55:14 +0800 Subject: Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant) --- ext/reflection/php_reflection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ext/reflection/php_reflection.c') diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 8141275e7b..ca90269fcd 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -2420,7 +2420,8 @@ ZEND_METHOD(reflection_parameter, getDefaultValue) *return_value = precv->op2.u.constant; INIT_PZVAL(return_value); - if (Z_TYPE_P(return_value) != IS_CONSTANT && Z_TYPE_P(return_value) != IS_CONSTANT_ARRAY) { + if ((Z_TYPE_P(return_value) & IS_CONSTANT_TYPE_MASK) != IS_CONSTANT + && (Z_TYPE_P(return_value) & IS_CONSTANT_TYPE_MASK) != IS_CONSTANT_ARRAY) { zval_copy_ctor(return_value); } zval_update_constant_ex(&return_value, (void*)0, param->fptr->common.scope TSRMLS_CC); -- cgit v1.2.1