From: Antony Dovgal Date: Wed, 22 Mar 2006 22:05:51 +0000 (+0000) Subject: prevent segfault when exception is thrown from Countable::count() X-Git-Tag: php-5.1.3RC2~54 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f7ce1d6260b8f6aee72e8f7bca5133ec0ce41a6b;p=php prevent segfault when exception is thrown from Countable::count() --- diff --git a/ext/standard/array.c b/ext/standard/array.c index 03f6bfaafd..6cc929ba4b 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -312,8 +312,10 @@ PHP_FUNCTION(count) 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