com php-src: Fixed refcounting: ext/standard/formatted_print .c

From: Date: Wed, 16 Apr 2014 08:07:58 +0000
Subject: com php-src: Fixed refcounting: ext/standard/formatted_print .c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-77384@lists.php.net to get a copy of this message
Commit: 10824893027fa91faa2818212d4b902a5e2116ad Author: Dmitry Stogov <dmitry@zend.com> Wed, 16 Apr 2014 12:07:58 +0400 Parents: 153e549886ef775c4c15037bbcc6b1b9f360b282 Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=10824893027fa91faa2818212d4b902a5e2116ad Log: Fixed refcounting Changed paths: M ext/standard/formatted_print.c Diff: diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c index 1f5a93f..2e6e2f6 100644 --- a/ext/standard/formatted_print.c +++ b/ext/standard/formatted_print.c @@ -393,23 +393,23 @@ php_formatted_print(int param_count, int use_array, int format_offset TSRMLS_DC) if (use_array) { int i = 1; zval *zv; - zval array; + zval *array; z_format = &args[format_offset]; - ZVAL_DUP(&array, &args[1 + format_offset]); - convert_to_array_ex(&array); + array = &args[1 + format_offset]; + SEPARATE_ZVAL(array); + convert_to_array_ex(array); - argc = 1 + zend_hash_num_elements(Z_ARRVAL(array)); + argc = 1 + zend_hash_num_elements(Z_ARRVAL_P(array)); newargs = (zval *)safe_emalloc(argc, sizeof(zval), 0); ZVAL_COPY_VALUE(&newargs[0], z_format); - for (zend_hash_internal_pointer_reset(Z_ARRVAL(array)); - (zv = zend_hash_get_current_data(Z_ARRVAL(array))) != NULL; - zend_hash_move_forward(Z_ARRVAL(array))) { + for (zend_hash_internal_pointer_reset(Z_ARRVAL_P(array)); + (zv = zend_hash_get_current_data(Z_ARRVAL_P(array))) != NULL; + zend_hash_move_forward(Z_ARRVAL_P(array))) { ZVAL_COPY_VALUE(&newargs[i], zv); i++; } - zval_dtor(&array); args = newargs; format_offset = 0; }

« previous php.cvs (#77384) next »