tony2001 Wed Mar 22 22:05:52 2006 UTC Modified files: (Branch: PHP_5_1) /php-src/ext/standard array.c Log: prevent segfault when exception is thrown from Countable::count() http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/array.c?r1=1.308.2.19&r2=1.308.2.20&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.308.2.19 php-src/ext/standard/array.c:1.308.2.20 --- php-src/ext/standard/array.c:1.308.2.19 Sun Mar 19 22:11:36 2006 +++ php-src/ext/standard/array.c Wed Mar 22 22:05:51 2006 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.308.2.19 2006/03/19 22:11:36 tony2001 Exp $ */ +/* $Id: array.c,v 1.308.2.20 2006/03/22 22:05:51 tony2001 Exp $ */ #include "php.h" #include "php_ini.h" @@ -312,8 +312,10 @@ if (Z_OBJ_HT_P(array)->get_class_entry && instanceof_function(Z_OBJCE_P(array), spl_ce_Countable TSRMLS_CC)) { zend_call_method_with_0_params(&array, NULL, NULL, "count", &retval); - RETVAL_LONG(Z_LVAL_P(retval)); - zval_ptr_dtor(&retval); + if (retval) { + RETVAL_LONG(Z_LVAL_P(retval)); + zval_ptr_dtor(&retval); + } return; } #endif
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php