From aaf7341b1ce6889387b4dcdf5a9b04a651076bc6 Mon Sep 17 00:00:00 2001 From: Craig Duncan Date: Tue, 4 Oct 2016 13:27:02 +0100 Subject: Add warnings when counting invalid parameters --- ext/standard/array.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ext') diff --git a/ext/standard/array.c b/ext/standard/array.c index f3a7f4de84..2c51149881 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -790,6 +790,7 @@ PHP_FUNCTION(count) switch (Z_TYPE_P(array)) { case IS_NULL: + php_error_docref(NULL, E_WARNING, "Parameter must be an array or an object that implements Countable"); RETURN_LONG(0); break; case IS_ARRAY: @@ -820,8 +821,14 @@ PHP_FUNCTION(count) } return; } + + /* If There's no handler and it doesn't implement Countable then add a warning */ + php_error_docref(NULL, E_WARNING, "Parameter must be an array or an object that implements Countable"); + RETURN_LONG(1); + break; } default: + php_error_docref(NULL, E_WARNING, "Parameter must be an array or an object that implements Countable"); RETURN_LONG(1); break; } -- cgit v1.2.1