diff --git a/NEWS b/NEWS index 2fd0fa3a3ace..623a29b0d6c8 100644 --- a/NEWS +++ b/NEWS @@ -180,7 +180,7 @@ PHP NEWS . It is now possible to use the AES192, AES192C, AES256, and AES256C as SNMPv3 security protocols if the underlying library supports them. (eskyuu) - . It is now possible to reset the MIB tree using the new snmp_read_mib() + . It is now possible to reset the MIB tree using the new snmp_init_mib() function. (eskyuu) . Additional MIB parsing and output control functionality has been exposed via the snmp_set_mib_option(), snmp_set_output_option(), diff --git a/UPGRADING b/UPGRADING index fb2d48a22ce9..42ee8f4228d4 100644 --- a/UPGRADING +++ b/UPGRADING @@ -878,6 +878,28 @@ PHP 8.6 UPGRADE NOTES . EAI_IDN_ENCODE. . SO_DETACH_REUSEPORT_BPF (Linux only). +- Sodium: + . SODIUM_CRYPTO_IPCRYPT_BYTES. + . SODIUM_CRYPTO_IPCRYPT_KEYBYTES. + . SODIUM_CRYPTO_IPCRYPT_ND_KEYBYTES. + . SODIUM_CRYPTO_IPCRYPT_ND_TWEAKBYTES. + . SODIUM_CRYPTO_IPCRYPT_ND_INPUTBYTES. + . SODIUM_CRYPTO_IPCRYPT_ND_OUTPUTBYTES. + . SODIUM_CRYPTO_IPCRYPT_NDX_KEYBYTES. + . SODIUM_CRYPTO_IPCRYPT_NDX_TWEAKBYTES. + . SODIUM_CRYPTO_IPCRYPT_NDX_INPUTBYTES. + . SODIUM_CRYPTO_IPCRYPT_NDX_OUTPUTBYTES. + . SODIUM_CRYPTO_IPCRYPT_PFX_KEYBYTES. + . SODIUM_CRYPTO_IPCRYPT_PFX_BYTES. + . SODIUM_CRYPTO_XOF_SHAKE128_BLOCKBYTES. + . SODIUM_CRYPTO_XOF_SHAKE128_STATEBYTES. + . SODIUM_CRYPTO_XOF_SHAKE256_BLOCKBYTES. + . SODIUM_CRYPTO_XOF_SHAKE256_STATEBYTES. + . SODIUM_CRYPTO_XOF_TURBOSHAKE128_BLOCKBYTES. + . SODIUM_CRYPTO_XOF_TURBOSHAKE128_STATEBYTES. + . SODIUM_CRYPTO_XOF_TURBOSHAKE256_BLOCKBYTES. + . SODIUM_CRYPTO_XOF_TURBOSHAKE256_STATEBYTES. + - Standard: . ARRAY_FILTER_USE_VALUE. . STREAM_CRYPTO_STATUS_NONE. diff --git a/Zend/zend.c b/Zend/zend.c index 1718972e592f..42e6fb568a22 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1487,13 +1487,14 @@ ZEND_API ZEND_COLD void zend_error_zstr_at( info->lineno = error_lineno; info->filename = zend_string_copy(error_filename); info->message = zend_string_copy(message); - EG(errors).size++; - if (EG(errors).size > EG(errors).capacity) { + uint32_t new_size = EG(errors).size + 1; + if (new_size > EG(errors).capacity) { uint32_t capacity = EG(errors).capacity ? EG(errors).capacity + (EG(errors).capacity >> 1) : 2; EG(errors).errors = erealloc(EG(errors).errors, sizeof(zend_error_info *) * capacity); EG(errors).capacity = capacity; } - EG(errors).errors[EG(errors).size - 1] = info; + EG(errors).errors[EG(errors).size] = info; + EG(errors).size = new_size; /* Do not process non-fatal recorded error */ if (!(type & E_FATAL_ERRORS) || (type & E_DONT_BAIL)) { diff --git a/ext/intl/formatter/formatter_class.cpp b/ext/intl/formatter/formatter_class.cpp index 5b82b53c6d62..29817132acac 100644 --- a/ext/intl/formatter/formatter_class.cpp +++ b/ext/intl/formatter/formatter_class.cpp @@ -71,7 +71,7 @@ U_CFUNC zend_object *NumberFormatter_object_clone(zend_object *object) /* clone formatter object. It may fail, the destruction code must handle this case */ if (FORMATTER_OBJECT(nfo) != nullptr) { - FORMATTER_OBJECT(new_nfo) = FORMATTER_OBJECT(nfo)->clone(); + FORMATTER_OBJECT(new_nfo) = static_cast(FORMATTER_OBJECT(nfo)->clone()); if (FORMATTER_OBJECT(new_nfo) == nullptr) { zend_throw_error(NULL, "Failed to clone NumberFormatter"); } diff --git a/ext/intl/rangeformatter/rangeformatter_class.h b/ext/intl/rangeformatter/rangeformatter_class.h index 494a6d09a05f..4b6f02dc93c9 100644 --- a/ext/intl/rangeformatter/rangeformatter_class.h +++ b/ext/intl/rangeformatter/rangeformatter_class.h @@ -15,9 +15,8 @@ #ifndef RANGEFORMATTER_CLASS_H #define RANGEFORMATTER_CLASS_H -#include - #ifdef __cplusplus +#include using icu::number::LocalizedNumberRangeFormatter; #else typedef void LocalizedNumberRangeFormatter;