History log of /PHP-8.2/ext/spl/spl_array.c (Results 1 – 25 of 507)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 262a2274 30-Aug-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18


# 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 ...

# ab3f584a 03-May-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18)
Fix GH-11175 and GH-11177: Stream socket timeout und

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18)
Fix GH-11175 and GH-11177: Stream socket timeout undefined behaviour
Fix GH-9068: Conditional jump or move depends on uninitialised value(s)

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 ...

# 3d8107f7 25-Mar-2023 Ilija Tovilo

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
By-ref modification of typed and readonly props through ArrayIterator


# 9aaa5cd0 17-Mar-2023 Ilija Tovilo

By-ref modification of typed and readonly props through ArrayIterator

Fixes GH-10844
Closes GH-10872

# 4808fb69 10-Mar-2023 George Peter Banyard

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix GH-10519: Array Data Address Reference Issue


# 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 ...

# d1fc0017 14-Sep-2022 Bob Weinand

Revert "Fix compilation on MacOS"

This reverts commit 800c6672e57a01d68dcaba36f8f7d65c6871aafc.

Reverted along with a01dd9fedaecd2e5b95bc5c2e8d6542116addeae.

# 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 ...

# b73f139c 02-Aug-2022 Máté Kocsis

Declare ext/spl constants in stubs (#9226)

# 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 ...

# 3b92a966 25-Jun-2022 Ilija Tovilo

Convert return type of various object handlers from int to zend_result (#8755)

# 3de0ccfe 15-Apr-2022 Christoph M. Becker

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix GH-8366: ArrayIterator may leak when calling __construct()


# 549cf3a2 15-Apr-2022 Christoph M. Becker

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix GH-8366: ArrayIterator may leak when calling __construct()


# 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

# 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

# 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 ...

# 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.

12345678910>>...21