diff options
author | Nikita Popov <nikic@php.net> | 2016-07-16 23:35:08 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2016-07-16 23:43:24 +0200 |
commit | 735bec4f4018a4009a37d96489afe941c1ad711a (patch) | |
tree | 399563b192b5bc5229267f0af95f2e8cf96ba956 /sapi/cli/php_cli.c | |
parent | 2c51a2d00b84a4b9996ed73160cdc5e9faebec12 (diff) | |
download | php-git-735bec4f4018a4009a37d96489afe941c1ad711a.tar.gz |
Avoid uncollectable cycle in sxe_property_get_adr
The code was storing the created object in a property on the
created object, creating a trivial cycle. This cycle cannot be
collected (even if sxe->tmp is exposed via get_gc), because it
is never rooted (and we cannot safely manually root it).
Change the code to store the created object on the parent node
instead.
The only reason this is not showing up as a leak is that sxe->tmp
is dtor'ed in the dtor handler, which means that these objects
do get collected on shutdown -- but never earlier.
Diffstat (limited to 'sapi/cli/php_cli.c')
0 files changed, 0 insertions, 0 deletions