diff --git a/ext/date/php_date.c b/ext/date/php_date.c index bf5e9834d99..45b33e17b62 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2345,7 +2345,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); } @@ -3002,7 +3002,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; } @@ -4203,7 +4203,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; } @@ -4838,7 +4838,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; } @@ -5919,7 +5919,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