mirror of
https://github.com/php/php-src.git
synced 2024-09-27 21:07:25 +00:00
ef19fba2d5
already fixed in trunk/5.3 and now merged onto 5.4 and a leak introduced in fixing bug #61115. This better fix for #61115 fixes the leak (the inhibition for deleting the context was too broad) and so prevents segfaults in new circumstances (where the inhibition was not broad enough).
41 lines
834 B
PHP
41 lines
834 B
PHP
--TEST--
|
|
Bug #61371: stream_context_create() causes memory leaks on use streams_socket_create
|
|
--FILE--
|
|
<?php
|
|
function test($doFclose) {
|
|
$previous = null;
|
|
$current = null;
|
|
for($test=1;$test<=3;$test++) {
|
|
$current = memory_get_usage(true);
|
|
if (!is_null($previous)) {
|
|
var_dump($previous == $current);
|
|
}
|
|
$previous = $current;
|
|
echo 'memory: '.round($current / 1024, 0)."kb\n";
|
|
for($i=0;$i<=100;$i++) {
|
|
$context = stream_context_create(array());
|
|
$stream = stream_socket_client('udp://0.0.0.0:80', $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context);
|
|
if ($doFclose) fclose($stream);
|
|
unset($context);
|
|
unset($stream);
|
|
unset($errno);
|
|
unset($errstr);
|
|
}
|
|
}
|
|
}
|
|
|
|
test(true);
|
|
test(false);
|
|
?>
|
|
--EXPECTF--
|
|
memory: %dkb
|
|
bool(true)
|
|
memory: %dkb
|
|
bool(true)
|
|
memory: %dkb
|
|
memory: %dkb
|
|
bool(true)
|
|
memory: %dkb
|
|
bool(true)
|
|
memory: %dkb
|