mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge branch 'PHP-8.3' into PHP-8.4
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
9
ext/date/tests/bug-gh16037.phpt
Normal file
9
ext/date/tests/bug-gh16037.phpt
Normal file
@@ -0,0 +1,9 @@
|
||||
--TEST--
|
||||
Test for bug GH-16037: Assertion failure in ext/date/php_date.c
|
||||
--FILE--
|
||||
<?php
|
||||
$di = (new DateInterval('P1Y'))->__unserialize([[]]);
|
||||
echo gettype($di);
|
||||
?>
|
||||
--EXPECT--
|
||||
NULL
|
||||
Reference in New Issue
Block a user