#
9774cedb |
| 18-Sep-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-15918: Assertion failure in ext/spl/spl_fixedarray.c SplFixedArray should've never get supported in ArrayObject because it's overloaded, and so that breaks assumptions. This regre
Fix GH-15918: Assertion failure in ext/spl/spl_fixedarray.c SplFixedArray should've never get supported in ArrayObject because it's overloaded, and so that breaks assumptions. This regressed in c4ecd82f. Closes GH-15947.
show more ...
|
#
1cdcbc05 |
| 30-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 When you do an assignment between two zvals (no, not zval*), you copy all fields. This includes the additional u2 data.
Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 When you do an assignment between two zvals (no, not zval*), you copy all fields. This includes the additional u2 data. So that means for example the Z_NEXT index gets copied, which in some cases can therefore cause a cycle in zend_hash lookups. Instead of doing an assignment, we should be doing a ZVAL_COPY (or ZVAL_COPY_VALUE for non-refcounting cases). This avoids copying u2. Closes GH-12086.
show more ...
|
#
ffd7018f |
| 30-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 When you do an assignment between two zvals (no, not zval*), you copy all fields. This includes the additional u2 data.
Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 When you do an assignment between two zvals (no, not zval*), you copy all fields. This includes the additional u2 data. So that means for example the Z_NEXT index gets copied, which in some cases can therefore cause a cycle in zend_hash lookups. Instead of doing an assignment, we should be doing a ZVAL_COPY (or ZVAL_COPY_VALUE for non-refcounting cases). This avoids copying u2. Closes GH-12086.
show more ...
|
#
d5ad7510 |
| 08-Jun-2023 |
George Peter Banyard |
More usage of known zend_str instead of C string (#11381)
|
#
99fa740a |
| 06-Jun-2023 |
George Peter Banyard |
Use common function for TypeError on illegal offset access (#10544) This merges all usages of emitting an offset TypeError into a new ZEND_API function zend_illegal_container_offset(cons
Use common function for TypeError on illegal offset access (#10544) This merges all usages of emitting an offset TypeError into a new ZEND_API function zend_illegal_container_offset(const zend_string* container, const zval *offset, int type); Where the container should represent the type on which the access is attempted (e.g. string, array) The offset zval that is used, where the error message will display its type The type of access, which should be a BP_VAR_* constant, to get special message for isset/empty/unset
show more ...
|
#
81e50b4e |
| 02-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18) Dynamic property case in zend_get_property_info() can return NULL for prop info. This was not handled.
Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18) Dynamic property case in zend_get_property_info() can return NULL for prop info. This was not handled. Closes GH-11182.
show more ...
|
#
9aaa5cd0 |
| 17-Mar-2023 |
Ilija Tovilo |
By-ref modification of typed and readonly props through ArrayIterator Fixes GH-10844 Closes GH-10872
|
#
49b2ff5d |
| 02-Mar-2023 |
NathanFreeman <1056159381@qq.com> |
Fix GH-10519: Array Data Address Reference Issue We need to carry around a reference to the underlying Bucket to be able to modify it by reference. Closes GH-10749 Signed-o
Fix GH-10519: Array Data Address Reference Issue We need to carry around a reference to the underlying Bucket to be able to modify it by reference. Closes GH-10749 Signed-off-by: George Peter Banyard <girgias@php.net>
show more ...
|
#
90047253 |
| 26-Feb-2023 |
Marcos Marcolin <48370677+marcosmarcolin@users.noreply.github.com> |
chore: standardize the visibility of functions. (#10708) Co-authored-by: Marcos Marcolin <marcos@ixcsoft.com.br>
|
#
641fe23e |
| 08-Feb-2023 |
Marcos Marcolin <48370677+marcosmarcolin@users.noreply.github.com> |
Improve illegal offset error messages (#10504) Co-authored-by: Marcos Marcolin <marcos@ixcsoft.com.br>
|
#
d1fc0017 |
| 14-Sep-2022 |
Bob Weinand |
Revert "Fix compilation on MacOS" This reverts commit 800c6672e57a01d68dcaba36f8f7d65c6871aafc. Reverted along with a01dd9fedaecd2e5b95bc5c2e8d6542116addeae.
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23 |
|
#
800c6672 |
| 24-Aug-2022 |
Bob Weinand |
Fix compilation on MacOS memrchr has an always available equivalent under the name of zend_memrchr. Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
|
#
adb45a63 |
| 30-Aug-2022 |
Máté Kocsis |
Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) * Emit deprecation warnings when adding dynamic properties to classes during unserialization - this will become a
Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) * Emit deprecation warnings when adding dynamic properties to classes during unserialization - this will become an Error in php 9.0. (Adding dynamic properties in other contexts was already a deprecation warning - the use case of unserialization was overlooked) * Throw an error when attempting to add a dynamic property to a `readonly` class when unserializing * Add new serialization methods `__serialize`/`__unserialize` for SplFixedArray to avoid creating deprecated dynamic properties that would then be added to the backing fixed-size array * Don't add named dynamic/declared properties (e.g. $obj->foo) of SplFixedArray to the backing array when unserializing * Update tests to declare properties or to expect the deprecation warning * Add news entry Co-authored-by: Tyson Andre <tysonandre775@hotmail.com>
show more ...
|
Revision tags: php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3 |
|
#
b73f139c |
| 02-Aug-2022 |
Máté Kocsis |
Declare ext/spl constants in stubs (#9226)
|
Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1 |
|
#
4df3dd76 |
| 08-Jul-2022 |
Arnaud Le Blanc |
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend to return the over-allocated string directly. This results in unnecessary memory usage, especially for small strings. The overhead can be up to 231 bytes for strings smaller than that, and 4095 for other strings. This can be avoided for strings smaller than `4096 - zend_string header size - 1` by reallocating the string. This change introduces `smart_str_trim_to_size()`, and calls it in `smart_str_extract()`. Functions that use `smart_str` are updated to use `smart_str_extract()`. Fixes GH-8896
show more ...
|
Revision tags: php-8.0.21, php-8.1.8, php-8.2.0alpha3 |
|
#
3b92a966 |
| 25-Jun-2022 |
Ilija Tovilo |
Convert return type of various object handlers from int to zend_result (#8755)
|
Revision tags: php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1 |
|
#
1762a879 |
| 14-Apr-2022 |
Christoph M. Becker |
Fix GH-8366: ArrayIterator may leak when calling __construct() When we detach an iterator, we also have to delete it. Closes GH-8374.
|
#
cfc38a60 |
| 13-Apr-2022 |
George Peter Banyard |
SPL: minor refactoring (#8341) Use more appropriate types and return macros
|
Revision tags: php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1 |
|
#
db0db220 |
| 23-Mar-2022 |
George Peter Banyard |
Use zend_result/bool in spl_array.c
|
#
2fa33d1d |
| 23-Mar-2022 |
George Peter Banyard |
Use ZEND_THROWS() where applicable in spl_array.c
|
#
69ea2d86 |
| 16-Mar-2022 |
George Peter Banyard |
Convert check + exception to assertion Move the inside the __unserialize() method as that's the only one which now needs this check Closes GH-8207
|
Revision tags: php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3 |
|
#
f13c22fb |
| 24-Sep-2021 |
Nikita Popov |
Remove unnecessary zend_user_iterator use in spl_array We no longer use any functionality of zend_user_iterator here.
|
#
15bbf6f3 |
| 24-Sep-2021 |
Nikita Popov |
Automatically determine whether to reuse get_iterator() Same as with the IteratorAggregate case, allow reusing get_iterator if none of the Iterator methods are overridden. Drop the R
Automatically determine whether to reuse get_iterator() Same as with the IteratorAggregate case, allow reusing get_iterator if none of the Iterator methods are overridden. Drop the REUSE_GET_ITERATOR flag that previously allowed ArrayIterator to opt-in to unconditional get_iterator reuse, and drop the override handling it did, in favor of the automated approach.
show more ...
|
#
d0dbf729 |
| 24-Sep-2021 |
Nikita Popov |
Initialize iterator_funcs_ptr upfront Same as we do for the IteratorAggregate case, initialize the Iterator methods upfront. This is preparation for an upcoming change to automatical
Initialize iterator_funcs_ptr upfront Same as we do for the IteratorAggregate case, initialize the Iterator methods upfront. This is preparation for an upcoming change to automatically determine whether get_iterator can be reused in a child class, in the same way we already do for IteratorAggregate.
show more ...
|
Revision tags: php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1 |
|
#
5b2ddf5a |
| 31-Aug-2021 |
Nikita Popov |
Export zend_use_resource_as_offset() Use a common implementation to generate this error message, as we do so in quite a few places dealing with array keys.
|