From f7ce1d6260b8f6aee72e8f7bca5133ec0ce41a6b Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 22 Mar 2006 22:05:51 +0000 Subject: [PATCH] prevent segfault when exception is thrown from Countable::count() --- ext/standard/array.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 -- 2.50.1