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