History log of /PHP-8.1/ext/ffi/tests/arrayPointer.phpt (Results 1 – 1 of 1)
Revision Date Author Comments
# fe2dc2b4 03-Feb-2023 Tyson Andre

Avoid crash for reset/end/next/prev() on ffi classes (#9711)

(And any PECLs returning `zend_empty_array` in the handler->get_properties
overrides)

Closes GH-9697

This i

Avoid crash for reset/end/next/prev() on ffi classes (#9711)

(And any PECLs returning `zend_empty_array` in the handler->get_properties
overrides)

Closes GH-9697

This is similar to the fix used in d9651a941915eb5fb5ad557090b65256fd8509b6
for array_walk.

This should make it safer for php-src (and PECLs, long-term) to return
the empty immutable array in `handler->get_properties` to avoid wasting memory.
See https://github.com/php/php-src/issues/9697#issuecomment-1273613175

The only possible internal iterator position for the empty array is at the end
of the empty array (nInternalPointer=0).
The `zend_hash*del*` helpers will always set nInternalPointer to 0 when an
array becomes empty,
regardless of previous insertions/deletions/updates to the array.

show more ...