felipe Sun May 10 20:15:39 2009 UTC Added files: /php-src/ext/intl/tests bug48227.phpt
Modified files: /php-src/ext/intl/formatter formatter_format.c Log: - Fixed bug #48227 (NumberFormatter::format leaks memory) http://cvs.php.net/viewvc.cgi/php-src/ext/intl/formatter/formatter_format.c?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/intl/formatter/formatter_format.c diff -u php-src/ext/intl/formatter/formatter_format.c:1.4 php-src/ext/intl/formatter/formatter_format.c:1.5 --- php-src/ext/intl/formatter/formatter_format.c:1.4 Tue Mar 10 23:39:26 2009 +++ php-src/ext/intl/formatter/formatter_format.c Sun May 10 20:15:39 2009 @@ -53,11 +53,7 @@ if(type == FORMAT_TYPE_DEFAULT) { if(Z_TYPE_PP(number) == IS_STRING) { - SEPARATE_ZVAL_IF_NOT_REF(number); - if ((Z_TYPE_PP(number)=is_numeric_string(Z_STRVAL_PP(number), Z_STRLEN_PP(number), - &Z_LVAL_PP(number), &Z_DVAL_PP(number), 1)) == 0) { - ZVAL_LONG(*number, 0); - } + convert_scalar_to_number_ex(number); } if(Z_TYPE_PP(number) == IS_LONG) { http://cvs.php.net/viewvc.cgi/php-src/ext/intl/tests/bug48227.phpt?view=markup&rev=1.1 Index: php-src/ext/intl/tests/bug48227.phpt +++ php-src/ext/intl/tests/bug48227.phpt --TEST-- Bug #48227 (NumberFormatter::format leaks memory) --FILE-- <?php $x = new NumberFormatter('en_US', NumberFormatter::DECIMAL); var_dump($x->format('')); var_dump($x->format(1)); var_dump($x->format(NULL)); var_dump($x->format($x)); ?> --EXPECTF-- string(1) "0" string(1) "1" string(1) "0" Notice: Object of class NumberFormatter could not be converted to int in %s on line %d string(1) "1" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php