com php-src: Fixed _zend_get_parameters_array: Zend /zend_API.c Zend/zend_API.h

From: Date: Tue, 24 Jun 2014 16:39:37 +0000
Subject: com php-src: Fixed _zend_get_parameters_array: Zend /zend_API.c Zend/zend_API.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-79033@lists.php.net to get a copy of this message
Commit: 284141ca8fa94dac846d593af0628dbfc719402e Author: Xinchen Hui <laruence@php.net> Wed, 25 Jun 2014 00:39:37 +0800 Parents: ee30cc8a1e016bce8a2828d7755dfb7540a5a40c Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=284141ca8fa94dac846d593af0628dbfc719402e Log: Fixed _zend_get_parameters_array it should not decrease the refcount (spotted by register_shutdown_function in ext/mysqli/tests/bug49442.phpt) Bugs: https://bugs.php.net/49442 Changed paths: M Zend/zend_API.c M Zend/zend_API.h Diff: diff --git a/Zend/zend_API.c b/Zend/zend_API.c index ea33363..d2b474c 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -78,40 +78,6 @@ ZEND_API int zend_get_parameters(int ht, int param_count, ...) /* {{{ */ } /* }}} */ -ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval *argument_array TSRMLS_DC) /* {{{ */ -{ - zval *p; - int arg_count; - zval *param_ptr; - - p = zend_vm_stack_top(TSRMLS_C) - 1; - arg_count = Z_LVAL_P(p); - - if (param_count>arg_count) { - return FAILURE; - } - - while (param_count-->0) { - param_ptr = (p-arg_count); - if (Z_REFCOUNTED_P(param_ptr) && - !Z_ISREF_P(param_ptr) && - Z_REFCOUNT_P(param_ptr) > 1) { - zval new_tmp; - - ZVAL_DUP(&new_tmp, param_ptr); - Z_DELREF_P(param_ptr); - ZVAL_COPY_VALUE(argument_array, &new_tmp); - } else { - ZVAL_COPY_VALUE(argument_array, param_ptr); - } - argument_array++; - arg_count--; - } - - return SUCCESS; -} -/* }}} */ - /* Zend-optimized Extended functions */ /* this function doesn't check for too many parameters */ ZEND_API int zend_get_parameters_ex(int param_count, ...) /* {{{ */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 0b96db8..eafdf64 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -233,7 +233,6 @@ int zend_next_free_module(void); BEGIN_EXTERN_C() ZEND_API int zend_get_parameters(int ht, int param_count, ...); -ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval *argument_array TSRMLS_DC); ZEND_API ZEND_ATTRIBUTE_DEPRECATED int zend_get_parameters_ex(int param_count, ...); ZEND_API int _zend_get_parameters_array_ex(int param_count, zval *argument_array TSRMLS_DC); @@ -241,7 +240,7 @@ ZEND_API int _zend_get_parameters_array_ex(int param_count, zval *argument_array ZEND_API int zend_copy_parameters_array(int param_count, zval *argument_array TSRMLS_DC); #define zend_get_parameters_array(ht, param_count, argument_array) \ - _zend_get_parameters_array(ht, param_count, argument_array TSRMLS_CC) + _zend_get_parameters_array_ex(param_count, argument_array TSRMLS_CC) #define zend_get_parameters_array_ex(param_count, argument_array) \ _zend_get_parameters_array_ex(param_count, argument_array TSRMLS_CC) #define zend_parse_parameters_none() \

« previous php.cvs (#79033) next »