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
Fixed.
Thanks for the reproducing case.
At 11:25 PM 2/27/2004 +0100, Timm Friebe wrote:
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