2007-12-22 04:56:10 +08:00
|
|
|
--TEST--
|
|
|
|
Bug #43450 (Memory leak on some functions with implicit object __toString() call)
|
|
|
|
--SKIPIF--
|
|
|
|
<?php if (!function_exists('memory_get_usage')) die('memory_get_usage() not installed'); ?>
|
2013-04-03 19:52:09 +08:00
|
|
|
--INI--
|
|
|
|
opcache.enable_cli=0
|
2007-12-22 04:56:10 +08:00
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
error_reporting(E_ALL|E_STRICT);
|
|
|
|
|
|
|
|
class Foo
|
|
|
|
{
|
|
|
|
public function __toString()
|
|
|
|
{
|
|
|
|
return __CLASS__;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$num_repeats = 100000;
|
|
|
|
|
|
|
|
$start = (memory_get_usage() / 1024) + 16;
|
|
|
|
for ($i=1;$i<$num_repeats;$i++)
|
|
|
|
{
|
|
|
|
$foo = new Foo();
|
|
|
|
md5($foo);
|
|
|
|
}
|
|
|
|
$end = memory_get_peak_usage() / 1024;
|
|
|
|
|
|
|
|
if ($start < $end) {
|
|
|
|
echo 'FAIL';
|
|
|
|
} else {
|
|
|
|
echo 'PASS';
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
PASS
|