Send a blank email to [email protected] to get a copy of this message
Pull Request: https://github.com/php/php-src/pull/20246
Author: arnaud-lb
Effects performed after a get_property_ptr_ptr() call may make the property pointer invalid by
freeing or reallocating its container.
The container might be the object itself, the properties ht, a proxied object. For internal classes,
this can be anything else.
Here we change the get_property_ptr_ptr handler so it exposes the actual container. The caller can
then increase its refcount if any operation performed before the last access to the property could
render the property invalid.
The get_property_ptr_ptr() implementation has the responsibility of ensuring that while the
container's refcount is incremented, the property pointer remains valid.
Possible partial fix for GH-15938. Separate fixes are necessary for ASSIGN_DIM_OP, and references.
cc @iluuu1994 @nielsdos