From 75d567ef9a2a02e11bb64a73f928caaa52ca153c Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 5 Mar 2014 17:31:10 +0800 Subject: [PATCH] Fixed NULL pointer def in ext/standard/tests/array/array_fill_keys_variation2.php --- ext/standard/array.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/standard/array.c b/ext/standard/array.c index 40371d23104..cad4cc8d8e6 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1525,6 +1525,10 @@ PHP_FUNCTION(array_fill_keys) zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(keys), &pos); while ((entry = zend_hash_get_current_data_ex(Z_ARRVAL_P(keys), &pos)) != NULL) { + if (UNEXPECTED(Z_ISREF_P(entry))) { + entry = Z_REFVAL_P(entry); + } + if (Z_TYPE_P(entry) == IS_LONG) { zval_add_ref(val); zend_hash_index_update(Z_ARRVAL_P(return_value), Z_LVAL_P(entry), val);