Memory leak with .=
| From: | Timm Friebe | Date: | Fri, 27 Feb 2004 22:25:15 +0000 |
| Subject: | Memory leak with .= | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-8244@lists.php.net to get a copy of this message | ||
The following script:
<?php
class StringBuffer {
public $buf= '';
public function append($string) {
$this->buf.= ($string instanceof StringBuffer
? $string->buf
: $string
);
}
}
$s= new StringBuffer();
$s->append('Hello');
?>
causes:
/usr/home/thekid/devel/php/php/Zend/zend_execute.c(4049) : Freeing
0x083B0310 (6 bytes), script=string.php
/usr/home/thekid/devel/php/php/Zend/zend_variables.c(137) : Actual
location (location was relayed)
=== Total 1 memory leaks detected ===
Changing the line $this->buf.= [...] to $this->buf= $this->buf. makes
the leak disappear.
- Timm