1--TEST-- 2Bug #52827 (curl_setopt with CURLOPT_STDERR erroneously increments the resource refcount) 3--SKIPIF-- 4<?php 5 6if (!extension_loaded('curl')) { 7 exit("skip curl extension not loaded"); 8} 9 10?> 11--FILE-- 12<?php 13$s = fopen('php://temp/maxmemory=1024','wb+'); 14 15/* force conversion of inner stream to STDIO. 16 * This is not necessary in Windows because the 17 * cast to a FILE* handle in curl_setopt already 18 * forces the conversion in that platform. The 19 * reason for this conversion is that the memory 20 * stream has an ugly but working mechanism to 21 * prevent being double freed when it's encapsulated, 22 * while STDIO streams don't. */ 23$i = 0; 24while ($i++ < 5000) { 25fwrite($s, str_repeat('a',1024)); 26} 27$handle=curl_init('http://www.example.com'); 28curl_setopt($handle, CURLOPT_STDERR, $s); 29 30echo "Done."; 31?> 32--EXPECT-- 33Done. 34