From 8c73fc8027a7293e81c0b2e8dc2674fe34f1eb59 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 12 Jan 2018 18:30:22 +0100 Subject: [PATCH] Fixed bug #75653 --- NEWS | 1 + ext/standard/array.c | 2 +- ext/standard/tests/array/bug75653.phpt | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/array/bug75653.phpt diff --git a/NEWS b/NEWS index 21037c1506..b3095be866 100644 --- a/NEWS +++ b/NEWS @@ -51,6 +51,7 @@ PHP NEWS - Standard: . Fixed bug #75781 (substr_count incorrect result). (Laruence) + . Fixed bug #75653 (array_values don't work on empty array). (Nikita) - Zip: . Display headers (buildtime) and library (runtime) versions in phpinfo diff --git a/ext/standard/array.c b/ext/standard/array.c index 3a55333a76..91ffe08f7d 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4028,7 +4028,7 @@ PHP_FUNCTION(array_values) /* Return empty input as is */ arrlen = zend_hash_num_elements(arrval); - if (!arrlen) { + if (!arrlen && arrval->nNextFreeElement == arrlen) { RETURN_ZVAL(input, 1, 0); } diff --git a/ext/standard/tests/array/bug75653.phpt b/ext/standard/tests/array/bug75653.phpt new file mode 100644 index 0000000000..d11c1e0c75 --- /dev/null +++ b/ext/standard/tests/array/bug75653.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #75653: array_values don't work on empty array +--FILE-- + +--EXPECT-- +array(2) { + [0]=> + string(5) "data2" + [1]=> + string(5) "data3" +} -- 2.40.0