summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c6
1 files 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