History log of /PHP-8.1/ext/spl/spl_iterators.c (Results 1 – 25 of 486)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 5855bdcd 20-Apr-2023 Ilija Tovilo

Fix reference returned from CallbackFilterIterator::accept()

Fixes oss-fuzz #58181


Revision tags: php-8.1.7RC1
# e004e1a9 03-May-2022 Christoph M. Becker

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix GH-8235: iterator_count() may run indefinitely


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

Revision tags: php-8.1.4RC1, php-8.1.3, php-8.1.2RC1, php-8.1.0, php-7.3.33, php-7.3.32
# eac65680 24-Sep-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix leak when iterating uninitialized RecursiveIteratorIterator


# 3adbafee 24-Sep-2021 Nikita Popov

Fix leak when iterating uninitialized RecursiveIteratorIterator

Revision tags: php-7.3.31, php-7.3.30
# 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 ...

# c2b29308 15-Jul-2021 Nikita Popov

Merge branch 'PHP-8.0'

* PHP-8.0:
Fix RecursiveIteratorIterator segfault for invalid aggregate


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

# f7b1238f 02-Jul-2021 Nikita Popov

Handle out of order destruction of RecursiveIteratorIterator

# c2a8934b 02-Jul-2021 Nikita Popov

Fix typo in RecursiveIteratorIterator get_gc handler

Revision tags: php-7.3.29
# aff36587 29-Jun-2021 Patrick Allaert

Fixed some spaces used instead of tabs

# 9c18138a 09-Jun-2021 Nikita Popov

Support GC for RecursiveIteratorIterator

And move its dtor_obj handler into free_obj, so that cycle leaks
get automatically detected.

# 0643301c 09-Jun-2021 Nikita Popov

Don't perform recursive get_gc call

On further consideration, we should be making use of the fact
that zend_object_iterator is also a zend_object here, and let
GC handle the get_gc c

Don't perform recursive get_gc call

On further consideration, we should be making use of the fact
that zend_object_iterator is also a zend_object here, and let
GC handle the get_gc call on it. Calling get_gc recursively like
this is generally not safe, because there is only one gc_buffer.

This also happens to be much simpler...

show more ...

# 67440dd6 09-Jun-2021 Nikita Popov

Null out member after releasing

Missed this when changing from zval -> zend_string.

# b2cf1987 09-Jun-2021 Nikita Popov

Use zend_string* for RecursiveTreeIterator prefixes

We don't perform any append operations on these strings, they
are fixed. Use zend_string* rather than smart_str for them.

# 6b9ffaff 09-Jun-2021 Nikita Popov

Simplify string management in RecursiveTreeIterator

Make use of zend_string rather than zval to clean up the
implementation.

# d7eea8e1 09-Jun-2021 Nikita Popov

Store cached string as zend_string

This makes the code a bit simpler.

# 88c57df5 09-Jun-2021 Nikita Popov

Remove dual_it dtor, add more GC roots

Move the dual_it_free call from the dtor_obj into the free_obj
handler, allowing us to drop the dtor_obj handler entirely. This
exposes another

Remove dual_it dtor, add more GC roots

Move the dual_it_free call from the dtor_obj into the free_obj
handler, allowing us to drop the dtor_obj handler entirely. This
exposes another leak in bug65387.phpt, which is addressed by
adding more GC roots in the get_gc handler.

show more ...

# 15fafcd6 08-Jun-2021 Nikita Popov

Expose inner dual_it iterator to GC

Moving the zend_iterator_dtor from dual_it_dtor to dual_it_free_storage
exposed this GC leak in an existing test. Forward the result of the
iterat

Expose inner dual_it iterator to GC

Moving the zend_iterator_dtor from dual_it_dtor to dual_it_free_storage
exposed this GC leak in an existing test. Forward the result of the
iterator get_gc to the dual_it get_gc.

show more ...

# 56c16334 29-May-2021 Anatol Belski

ext: Cleanup some dead assignments

Signed-off-by: Anatol Belski <ab@php.net>

# c757c61a 07-May-2021 George Peter Banyard

Remove unnecessary error handler replacement in SPL

Document why it is needed in the remaining cases
Drive-by refactoring

Closes GH-6955

# 01b3fc03 06-May-2021 KsaR

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |

show more ...

Revision tags: php-7.3.28
# a92f5cbe 19-Apr-2021 Máté Kocsis

Use typed property in RegexIterator

12345678910>>...20