History log of /PHP-8.2/ext/spl/spl_heap.c (Results 1 – 25 of 143)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# a56ff4fe 10-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16337: Use-after-free in SplHeap

We introduce a new flag to indicate when a heap or priority queue is
write-locked. In principle we could've used SPL_HEAP_CORRUPTED too, but
t

Fix GH-16337: Use-after-free in SplHeap

We introduce a new flag to indicate when a heap or priority queue is
write-locked. In principle we could've used SPL_HEAP_CORRUPTED too, but
that won't be descriptive to users (and it's a lie too).

Closes GH-16346.

show more ...


# 0956267c 23-Jul-2024 Levi Morrison

Fix warnings in session/spl

This fixes -Winline errors where the functions are not ever inlined.

Also fixes some signature mismatches which were fixed previously but
for whateve

Fix warnings in session/spl

This fixes -Winline errors where the functions are not ever inlined.

Also fixes some signature mismatches which were fixed previously but
for whatever reason were not ported to all maintained branches:

/usr/local/src/php/ext/session/session.c:1299:20:
warning:conflicting types for 'php_session_send_cookie' due to enum/integer mismatch;
have 'zend_result(void)' {aka 'ZEND_RESULT_CODE(void)'} [-Wenum-int-mismatch]
1299 | static zend_result php_session_send_cookie(void) /* {{{ */
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/php/ext/session/session.c:100:12:
note: previous declaration of 'php_session_send_cookie' with type 'int(void)'
100 | static int php_session_send_cookie(void);
| ^~~~~~~~~~~~~~~~~~~~~~~

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>

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

Declare ext/spl constants in stubs (#9226)

# dfbb4252 04-Jul-2022 David Carlier

Use `safe_*erealloc*` flavor in few places to mitigate possible overflows.

# 3b92a966 25-Jun-2022 Ilija Tovilo

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

# cfc38a60 13-Apr-2022 George Peter Banyard

SPL: minor refactoring (#8341)

Use more appropriate types and return macros

# 644710ee 24-Sep-2021 Nikita Popov

Remove unused flags from spl_heap_it

Which makes it equivalent to just zend_user_iterator, so drop the
wrapper entirely.

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

# 9d2a466c 09-Jun-2021 Nikita Popov

Remove explicit assignments of zend_objects_destroy_object

This is the default handler, no need to set it explicitly. This
makes it easier to see which objects really have a custom dtor_

Remove explicit assignments of zend_objects_destroy_object

This is the default handler, no need to set it explicitly. This
makes it easier to see which objects really have a custom dtor_obj.

show more ...

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

# 3a05cda3 12-Apr-2021 K <127853+kaja47@users.noreply.github.com>

SplPriorityQueue performance improvements (#6859)

This optimization is targeting cases when a SplPriorityQueue instance is used
exclusively with double or long priorities.

Durin

SplPriorityQueue performance improvements (#6859)

This optimization is targeting cases when a SplPriorityQueue instance is used
exclusively with double or long priorities.

During the first insertion into an empty queue, the comparator is changed to
the specialized one if the priority of inserted inserted key is long or double.
During insertion to non-empty queue, comparator is swapped back to the generic
one on type conflict.

As a result code like following, where the weight field is always double or
int, runs almost twice as fast.

foreach ($items as $item) {
$pqueue->insert($item, -$item->weight);
if ($pqueue->count() > $size) {
$pqueue->extract();
}
}

show more ...

# dc47b993 11-Apr-2021 K

SplHeap: replace zend_parse_parameters with ZEND_PARSE_PARAMETERS* macros

this change alone speeds up top-k computation significantly

# 4f4c031f 18-Feb-2021 Máté Kocsis

Generate ext/spl class entries from stubs

Closes GH-6709

# 9affbef0 11-Sep-2020 George Peter Banyard

Use normal error in SPL for 'An iterator cannot be used with foreach by reference'

# 61c299fe 03-Sep-2020 George Peter Banyard

Error promotions in SPL

Warning to Error promotion and a Notice to Warning promotion to align
with the behaviour specified in the Reclassify Engine Warnings RFC.

Closes GH-6072

# 2b5de6f8 01-Jul-2020 Max Semenik

Remove proto comments from C files

Closes GH-5758

# 312201dc 01-Jul-2020 Nikita Popov

Add get_gc handle for object iterators

Optional handler with the same semantics as the object handler.

# 47fae842 12-May-2020 Alex Dowad

Remove useless prototype for spl_heap_get_iterator

# 56aebbec 21-Jun-2020 Anatol Belski

Merge branch 'PHP-7.4'

* PHP-7.4:
SplHeap: Avoid memcpy on overlapping pointer


# afe14236 21-Jun-2020 Anatol Belski

SplHeap: Avoid memcpy on overlapping pointer

Check if data would overlap and also add an assert. Previous
implementations didn't have this issue, as the direct assignment was
used.

SplHeap: Avoid memcpy on overlapping pointer

Check if data would overlap and also add an assert. Previous
implementations didn't have this issue, as the direct assignment was
used.

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

show more ...

# 92c4b065 16-Jun-2020 Christoph M. Becker

Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0)

Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce
`ZEND_UNREACHABLE()`, so that MSVC which does not consider `asser

Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0)

Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce
`ZEND_UNREACHABLE()`, so that MSVC which does not consider `assert(0)`
to mark unreachable code does no longer trigger C4715[1] warnings in
debug builds. This may be useful for other compilers as well.

[1] <https://docs.microsoft.com/de-de/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4715?view=vs-2019>

show more ...

# d7f7080b 25-Apr-2020 Máté Kocsis

Generate methods entries from stubs for ext/spl

Closes GH-5458

# 258bffca 21-Apr-2020 Alex Dowad

Remove unused 'ce_get_iterator' field from spl_heap_object

123456