mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Merge branch 'PHP-8.4'
This commit is contained in:
commit
b63167f9e6
2 changed files with 14 additions and 5 deletions
|
@ -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;
|
||||
}
|
||||
|
|
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
|
Loading…
Add table
Add a link
Reference in a new issue