]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.3' into PHP-5.4
authorXinchen Hui <laruence@php.net>
Fri, 1 Jun 2012 07:00:02 +0000 (15:00 +0800)
committerXinchen Hui <laruence@php.net>
Fri, 1 Jun 2012 07:00:02 +0000 (15:00 +0800)
* PHP-5.3:
  Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant)

1  2 
ext/reflection/php_reflection.c

index 1cf65cee164ed57874ce2d29e5c46b82f6139524,ca90269fcde2e5339c5189ae74e5f14d2dcfef48..9346587eb7f0280ece099c5df5284a8dea860ed7
@@@ -2559,9 -2418,10 +2559,10 @@@ ZEND_METHOD(reflection_parameter, getDe
                return;
        }
  
 -      *return_value = precv->op2.u.constant;
 +      *return_value = *precv->op2.zv;
        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);