mirror of
https://github.com/php/php-src.git
synced 2024-12-05 07:46:06 +08:00
877a6f92f0
Patch by Gustavo.
33 lines
819 B
PHP
33 lines
819 B
PHP
--TEST--
|
|
Bug #52827 (curl_setopt with CURLOPT_STDERR erroneously increments the resource refcount)
|
|
--SKIPIF--
|
|
<?php
|
|
|
|
if (!extension_loaded('curl')) {
|
|
exit("skip curl extension not loaded");
|
|
}
|
|
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
$s = fopen('php://temp/maxmemory=1024','wb+');
|
|
|
|
/* force conversion of inner stream to STDIO.
|
|
* This is not necessary in Windows because the
|
|
* cast to a FILE* handle in curl_setopt already
|
|
* forces the conversion in that platform. The
|
|
* reason for this conversion is that the memory
|
|
* stream has an ugly but working mechanism to
|
|
* prevent being double freed when it's encapsulated,
|
|
* while STDIO streams don't. */
|
|
$i = 0;
|
|
while ($i++ < 5000) {
|
|
fwrite($s, str_repeat('a',1024));
|
|
}
|
|
$handle=curl_init('http://www.example.com');
|
|
curl_setopt($handle, CURLOPT_STDERR, $s);
|
|
|
|
echo "Done.";
|
|
--EXPECTF--
|
|
Done.
|