Skip to content

Commit b63167f

Browse files
committed
Merge branch 'PHP-8.4'
2 parents a920afd + 9923e14 commit b63167f

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

ext/date/php_date.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -2308,7 +2308,7 @@ static void add_common_properties(HashTable *myht, zend_object *zobj)
23082308

23092309
common = zend_std_get_properties(zobj);
23102310

2311-
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL_IND(common, name, prop) {
2311+
ZEND_HASH_FOREACH_STR_KEY_VAL_IND(common, name, prop) {
23122312
if (zend_hash_add(myht, name, prop) != NULL) {
23132313
Z_TRY_ADDREF_P(prop);
23142314
}
@@ -2965,7 +2965,7 @@ static void restore_custom_datetime_properties(zval *object, HashTable *myht)
29652965
zend_string *prop_name;
29662966
zval *prop_val;
29672967

2968-
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
2968+
ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
29692969
if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_time_is_internal_property(prop_name)) {
29702970
continue;
29712971
}
@@ -4166,7 +4166,7 @@ static void restore_custom_datetimezone_properties(zval *object, HashTable *myht
41664166
zend_string *prop_name;
41674167
zval *prop_val;
41684168

4169-
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
4169+
ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
41704170
if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_timezone_is_internal_property(prop_name)) {
41714171
continue;
41724172
}
@@ -4801,7 +4801,7 @@ static void restore_custom_dateinterval_properties(zval *object, HashTable *myht
48014801
zend_string *prop_name;
48024802
zval *prop_val;
48034803

4804-
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
4804+
ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
48054805
if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_interval_is_internal_property(prop_name)) {
48064806
continue;
48074807
}
@@ -5878,7 +5878,7 @@ static void restore_custom_dateperiod_properties(zval *object, HashTable *myht)
58785878
zend_string *prop_name;
58795879
zval *prop_val;
58805880

5881-
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
5881+
ZEND_HASH_FOREACH_STR_KEY_VAL(myht, prop_name, prop_val) {
58825882
if (!prop_name || (Z_TYPE_P(prop_val) == IS_REFERENCE) || date_period_is_internal_property(prop_name)) {
58835883
continue;
58845884
}

ext/date/tests/bug-gh16037.phpt

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--TEST--
2+
Test for bug GH-16037: Assertion failure in ext/date/php_date.c
3+
--FILE--
4+
<?php
5+
$di = (new DateInterval('P1Y'))->__unserialize([[]]);
6+
echo gettype($di);
7+
?>
8+
--EXPECT--
9+
NULL

0 commit comments

Comments
 (0)