From 932c5d9e0e57d8222c8ef341aea6f68f35978747 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 22 Mar 2006 22:06:08 +0000 Subject: [PATCH] MF51: 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 af64947fdd2..3ae61a49737 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -318,8 +318,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