mirror of
https://github.com/php/php-src.git
synced 2026-03-31 20:53:00 +02:00
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: Fixed test to work with recent libcurl versions PHP 5.5.20 now Conflicts: configure.in main/php_version.h
This commit is contained in:
@@ -1,71 +1,63 @@
|
||||
--TEST--
|
||||
Bug #52820 (writes to fopencookie FILE* not committed when seeking the stream)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!function_exists('leak_variable'))
|
||||
die("skip only for debug builds");
|
||||
/* unfortunately no standard function does a cast to FILE*, so we need
|
||||
* curl to test this */
|
||||
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
|
||||
$handle=curl_init('http://127.0.0.1:37349/');
|
||||
curl_setopt($handle, CURLOPT_VERBOSE, true);
|
||||
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
|
||||
if (!curl_setopt($handle, CURLOPT_STDERR, fopen("php://memory", "w+")))
|
||||
die("skip fopencookie not supported on this platform");
|
||||
--FILE--
|
||||
<?php
|
||||
function do_stuff($url) {
|
||||
$handle=curl_init('http://127.0.0.1:37349/');
|
||||
curl_setopt($handle, CURLOPT_VERBOSE, true);
|
||||
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($handle, CURLOPT_STDERR, $o = fopen($url, "w+"));
|
||||
curl_exec($handle);
|
||||
echo "About to rewind!\n";
|
||||
rewind($o);
|
||||
echo stream_get_contents($o);
|
||||
return $o;
|
||||
}
|
||||
|
||||
echo "temp stream (close after):\n";
|
||||
fclose(do_stuff("php://temp"));
|
||||
|
||||
echo "\nmemory stream (close after):\n";
|
||||
fclose(do_stuff("php://memory"));
|
||||
|
||||
echo "\ntemp stream (leak):\n";
|
||||
leak_variable(do_stuff("php://temp"), true);
|
||||
|
||||
echo "\nmemory stream (leak):\n";
|
||||
leak_variable(do_stuff("php://memory"), true);
|
||||
|
||||
echo "\nDone.\n";
|
||||
--EXPECTF--
|
||||
temp stream (close after):
|
||||
About to rewind!
|
||||
* About to connect() to 127.0.0.1 port 37349%r.*%r
|
||||
* Trying 127.0.0.1...%A* Connection refused
|
||||
* couldn't connect to host%S
|
||||
* Closing connection #0
|
||||
|
||||
memory stream (close after):
|
||||
About to rewind!
|
||||
* About to connect() to 127.0.0.1 port 37349%r.*%r
|
||||
* Trying 127.0.0.1...%A* Connection refused
|
||||
* couldn't connect to host%S
|
||||
* Closing connection #0
|
||||
|
||||
temp stream (leak):
|
||||
About to rewind!
|
||||
* About to connect() to 127.0.0.1 port 37349%r.*%r
|
||||
* Trying 127.0.0.1...%A* Connection refused
|
||||
* couldn't connect to host%S
|
||||
* Closing connection #0
|
||||
|
||||
memory stream (leak):
|
||||
About to rewind!
|
||||
* About to connect() to 127.0.0.1 port 37349%r.*%r
|
||||
* Trying 127.0.0.1...%A* Connection refused
|
||||
* couldn't connect to host%S
|
||||
* Closing connection #0
|
||||
|
||||
Done.
|
||||
--TEST--
|
||||
Bug #52820 (writes to fopencookie FILE* not committed when seeking the stream)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!function_exists('leak_variable'))
|
||||
die("skip only for debug builds");
|
||||
/* unfortunately no standard function does a cast to FILE*, so we need
|
||||
* curl to test this */
|
||||
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
|
||||
$handle=curl_init('http://127.0.0.1:37349/');
|
||||
curl_setopt($handle, CURLOPT_VERBOSE, true);
|
||||
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
|
||||
if (!curl_setopt($handle, CURLOPT_STDERR, fopen("php://memory", "w+")))
|
||||
die("skip fopencookie not supported on this platform");
|
||||
--FILE--
|
||||
<?php
|
||||
function do_stuff($url) {
|
||||
$handle=curl_init('http://127.0.0.1:37349/');
|
||||
curl_setopt($handle, CURLOPT_VERBOSE, true);
|
||||
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($handle, CURLOPT_STDERR, $o = fopen($url, "w+"));
|
||||
curl_exec($handle);
|
||||
echo "About to rewind!\n";
|
||||
rewind($o);
|
||||
echo stream_get_contents($o);
|
||||
return $o;
|
||||
}
|
||||
|
||||
echo "temp stream (close after):\n";
|
||||
fclose(do_stuff("php://temp"));
|
||||
|
||||
echo "\nmemory stream (close after):\n";
|
||||
fclose(do_stuff("php://memory"));
|
||||
|
||||
echo "\ntemp stream (leak):\n";
|
||||
leak_variable(do_stuff("php://temp"), true);
|
||||
|
||||
echo "\nmemory stream (leak):\n";
|
||||
leak_variable(do_stuff("php://memory"), true);
|
||||
|
||||
echo "\nDone.\n";
|
||||
--EXPECTF--
|
||||
temp stream (close after):
|
||||
About to rewind!
|
||||
* %ATrying 127.0.0.1...%AConnection refused%A
|
||||
* Closing connection%A%d
|
||||
|
||||
memory stream (close after):
|
||||
About to rewind!
|
||||
* %ATrying 127.0.0.1...%AConnection refused%A
|
||||
* Closing connection%A%d
|
||||
|
||||
temp stream (leak):
|
||||
About to rewind!
|
||||
* %ATrying 127.0.0.1...%AConnection refused%A
|
||||
* Closing connection%A%d
|
||||
|
||||
memory stream (leak):
|
||||
About to rewind!
|
||||
* %ATrying 127.0.0.1...%AConnection refused%A
|
||||
* Closing connection%A%d
|
||||
|
||||
Done.
|
||||
|
||||
Reference in New Issue
Block a user