History log of /PHP-8.2/ext/spl/spl_iterators.c (Results 1 – 25 of 451)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b3a56bd5 21-May-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-14290: Member access within null pointer in extension spl

php_pcre_replace_impl() can fail and return NULL. We should take that
error condition into account. Because other failure

Fix GH-14290: Member access within null pointer in extension spl

php_pcre_replace_impl() can fail and return NULL. We should take that
error condition into account. Because other failures return false, we
return false here as well.

At first, I also thought there was a potential memory leak in the error
check of replacement_str, but found that the error condition can never
trigger, so replace that with an assertion.

Closes GH-14292.

show more ...


# 97267215 10-Jan-2024 David CARLIER

general signatures discrepencies fixes (#13122)


# 642e1114 11-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Minor pcre optimizations (#12923)

* Update signature of pcre API

This changes the variables that are bools to actually be bools instead
of ints, which allows some additional opt

Minor pcre optimizations (#12923)

* Update signature of pcre API

This changes the variables that are bools to actually be bools instead
of ints, which allows some additional optimization by the compiler (e.g.
removing some ternaries and move extensions).

It also gets rid of the use_flags argument because that's just the same
as flags == 0. This reduces the call frame.

* Use zend_string_release_ex where possible

* Remove duplicate symbols from strchr

* Avoid useless value conversions

* Use a raw HashTable* instead of a zval

* Move condition

* Make for loop cheaper by reusing a recently used value as start iteration index

* Remove useless condition

This can't be true if the second condition is true because it would
require the string to occupy the entire address space.

* Upgrading + remark

show more ...


# 4cfc8f6d 29-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove dead stores from ext/spl (#12550)


# e41598c7 06-Oct-2023 George Peter Banyard

ext/spl: Use new F ZPP modifier


# 9d5f2f13 20-Mar-2023 Ilija Tovilo

Use new ZSTR_INIT_LITERAL macro (#10879)


# 2b15061f 01-Mar-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Use zend_result in ext/spl where appropriate (#10734)

* Convert functions in spl_heap to return zend_result

* Convert functions in spl_iterators to return zend_result


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


# 32d3cae1 22-Nov-2022 George Peter Banyard

Handle trampolines correctly in new FCC API + usages (#9877)


# 8d5d3fd0 27-Oct-2022 George Peter Banyard

Refactor SPL Callback filter to only use FCC


# 66661ae6 11-Oct-2022 George Peter Banyard

Remove most usages of zend_fcall_info_args()

This reallocates the PHP array when one can just use the named_params fields to pass the positional arguments instead.

Only usage of zen

Remove most usages of zend_fcall_info_args()

This reallocates the PHP array when one can just use the named_params fields to pass the positional arguments instead.

Only usage of zend_fcall_info_args(_ex) remains in PDO.

show more ...


# 1ea1b631 21-Oct-2022 George Peter Banyard

Use zend_call_function_with_return_value() in SPL iterators


# 5855bdcd 20-Apr-2023 Ilija Tovilo

Fix reference returned from CallbackFilterIterator::accept()

Fixes oss-fuzz #58181


# a01dd9fe 14-Sep-2022 Bob Weinand

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included i

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.

show more ...


# 94ee4f98 24-Aug-2022 Bob Weinand

Port all internally used classes to use default_object_handlers

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>


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

Declare ext/spl constants in stubs (#9226)


# 7ae7df5b 19-Jul-2022 Tim Düsterhus

RFC: Make the `iterator_*()` family accept all `iterable`s (#8819)

https://wiki.php.net/rfc/iterator_xyz_accept_array


# ad7b9f4e 27-Apr-2022 Christoph M. Becker

Fix GH-8235: iterator_count() may run indefinitely

We need to prevent integer overflow to eventually stop the iteration.

A test case doesn't appear sensible for this, because even o

Fix GH-8235: iterator_count() may run indefinitely

We need to prevent integer overflow to eventually stop the iteration.

A test case doesn't appear sensible for this, because even on 32bit
architectures a respective test easily runs for a few minutes.

Closes GH-8447.

show more ...


# cfc38a60 13-Apr-2022 George Peter Banyard

SPL: minor refactoring (#8341)

Use more appropriate types and return macros


# 72fb511d 01-Apr-2022 Arnaud Le Blanc

Stop including php_pcre.h from spl_iterators.h

This fixes GH-7774.

spl_iterators.h was including php_pcre.h so that one object intern struct could
reference a pcre_cache_entry.

Stop including php_pcre.h from spl_iterators.h

This fixes GH-7774.

spl_iterators.h was including php_pcre.h so that one object intern struct could
reference a pcre_cache_entry. These object interns should not be public, so they
can be moved out of the header file.

This change moves the object interns ouf of spl_iterators.h so that php_pcre.h
doesn't need to be included from there.

show more ...


# 3adbafee 24-Sep-2021 Nikita Popov

Fix leak when iterating uninitialized RecursiveIteratorIterator


# 6d505d44 22-Jul-2021 Nikita Popov

Add RETURN/RETVAL_COPY_DEREF() macros

These were missing from the set...

I think quite a few of these usages don't actually need the DEREF,
but I've just kept things as is for n

Add RETURN/RETVAL_COPY_DEREF() macros

These were missing from the set...

I think quite a few of these usages don't actually need the DEREF,
but I've just kept things as is for now.

show more ...


# b9ae73ee 15-Jul-2021 Nikita Popov

Fix RecursiveIteratorIterator segfault for invalid aggregate

The code was assuming that the returned value is an object.
Reuse the logic from IteratorIterator.


# 11f62c98 15-Jul-2021 Nikita Popov

Revert "IteratorIterator::getInnerIterator() can't return null"

This reverts commit c252420d0842b1f7ea3891695bb6de3c9ec9a57c.

This (currently) does not hold for invalid AppendIterat

Revert "IteratorIterator::getInnerIterator() can't return null"

This reverts commit c252420d0842b1f7ea3891695bb6de3c9ec9a57c.

This (currently) does not hold for invalid AppendIterators,
revert for now.

show more ...


# c252420d 15-Jul-2021 Nikita Popov

IteratorIterator::getInnerIterator() can't return null

If ther IteratorIterator is initialized (which we check), then
zobject cannot be undef and the return value cannot be null.


12345678910>>...19