diff --git a/ext/date/php_date.c b/ext/date/php_date.c index d24ae126ea2..95a5e5ae736 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2308,7 +2308,7 @@ static void add_common_properties(HashTable *myht, zend_object *zobj) common = zend_std_get_properties(zobj); - ZEND_HASH_MAP_FOREACH_STR_KEY_VAL_IND(common, name, prop) { + ZEND_HASH_FOREACH_STR_KEY_VAL_IND(common, name, prop) { if (zend_hash_add(myht, name, prop) != NULL) { Z_TRY_ADDREF_P(prop); } @@ -2965,7 +2965,7 @@ static void restore_custom_datetime_properties(zval *object, HashTable *myht) zend_string *prop_name; zval *prop_val; - ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { + ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_time_is_internal_property(prop_name)) { continue; } @@ -4166,7 +4166,7 @@ static void restore_custom_datetimezone_properties(zval *object, HashTable *myht zend_string *prop_name; zval *prop_val; - ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { + ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_timezone_is_internal_property(prop_name)) { continue; } @@ -4801,7 +4801,7 @@ static void restore_custom_dateinterval_properties(zval *object, HashTable *myht zend_string *prop_name; zval *prop_val; - ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { + ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_interval_is_internal_property(prop_name)) { continue; } @@ -5878,7 +5878,7 @@ static void restore_custom_dateperiod_properties(zval *object, HashTable *myht) zend_string *prop_name; zval *prop_val; - ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { + ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) { if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_period_is_internal_property(prop_name)) { continue; } diff --git a/ext/date/tests/bug-gh16037.phpt b/ext/date/tests/bug-gh16037.phpt new file mode 100644 index 00000000000..834bc653c2f --- /dev/null +++ b/ext/date/tests/bug-gh16037.phpt @@ -0,0 +1,9 @@ +--TEST-- +Test for bug GH-16037: Assertion failure in ext/date/php_date.c +--FILE-- +__unserialize([[]]); +echo gettype($di); +?> +--EXPECT-- +NULL