[php-src] Issue #18907: TMPVAR object with hook creating a self-reference leaks
| From: | nielsdos | Date: | Sun, 22 Jun 2025 13:17:53 +0000 |
| Subject: | [php-src] Issue #18907: TMPVAR object with hook creating a self-reference leaks | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-250305@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/18907
Author: nielsdos
### Description
The following code:
```php
<?php
class Foo {
public $prop { get {
$this->prop = $this;
return $this;
}}
}
(new Foo)->prop;
```
Resulted in this output:
```
=================================================================
==706473==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 56 byte(s) in 1 object(s) allocated from:
#0 0x7f3c37120e15 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:67
#1 0x556f537019ed in __zend_malloc /run/media/niels/MoreData/php-src/Zend/zend_alloc.c:3518
#2 0x556f536fd981 in _emalloc /run/media/niels/MoreData/php-src/Zend/zend_alloc.c:2762
#3 0x556f53aad029 in zend_objects_new /run/media/niels/MoreData/php-src/Zend/zend_objects.c:210
#4 0x556f537149d4 in _object_and_properties_init
/run/media/niels/MoreData/php-src/Zend/zend_API.c:1828
#5 0x556f53714b86 in object_init_ex /run/media/niels/MoreData/php-src/Zend/zend_API.c:1851
#6 0x556f5387e5bb in ZEND_NEW_SPEC_CONST_UNUSED_HANDLER
/run/media/niels/MoreData/php-src/Zend/zend_vm_execute.h:11042
#7 0x556f539a00f4 in execute_ex /run/media/niels/MoreData/php-src/Zend/zend_vm_execute.h:60061
#8 0x556f539afa32 in zend_execute /run/media/niels/MoreData/php-src/Zend/zend_vm_execute.h:64385
#9 0x556f53b158b9 in zend_execute_script /run/media/niels/MoreData/php-src/Zend/zend.c:1943
#10 0x556f5354ffb0 in php_execute_script_ex /run/media/niels/MoreData/php-src/main/main.c:2594
#11 0x556f535503b8 in php_execute_script /run/media/niels/MoreData/php-src/main/main.c:2634
#12 0x556f53b1b5c8 in do_cli /run/media/niels/MoreData/php-src/sapi/cli/php_cli.c:952
#13 0x556f53b1dc1a in main /run/media/niels/MoreData/php-src/sapi/cli/php_cli.c:1363
#14 0x7f3c36b886b4 (/usr/lib/libc.so.6+0x276b4) (BuildId:
468e3585c794491a48ea75fceb9e4d6b1464fc35)
#15 0x7f3c36b88768 in __libc_start_main (/usr/lib/libc.so.6+0x27768) (BuildId:
468e3585c794491a48ea75fceb9e4d6b1464fc35)
#16 0x556f52a03fb4 in _start (/run/media/niels/MoreData/php-src/sapi/cli/php+0x603fb4) (BuildId:
2a1a4f16068276f3efa4ba67d81c1a989371a979)
```
But I expected this output instead:
```
no leak
```
### PHP Version
```plain
8.4+
```
### Operating System
_No response_