tony2001 Wed Mar 22 22:06:08 2006 UTC
Modified files:
/php-src/ext/standard array.c
Log:
MF51: prevent segfault when exception is thrown from Countable::count()
http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/array.c?r1=1.345&r2=1.346&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.345 php-src/ext/standard/array.c:1.346
--- php-src/ext/standard/array.c:1.345 Sun Mar 19 22:12:39 2006
+++ php-src/ext/standard/array.c Wed Mar 22 22:06:08 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: array.c,v 1.345 2006/03/19 22:12:39 tony2001 Exp $ */
+/* $Id: array.c,v 1.346 2006/03/22 22:06:08 tony2001 Exp $ */
#include "php.h"
#include "php_ini.h"
@@ -318,8 +318,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