mirror of
https://github.com/php/php-src.git
synced 2024-11-24 18:34:21 +08:00
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
This commit is contained in:
commit
70e9d3e2f9
4
NEWS
4
NEWS
@ -7,6 +7,10 @@ PHP NEWS
|
||||
generator). (Nikita)
|
||||
. Fixed bug #67151 (strtr with empty array crashes). (Nikita)
|
||||
|
||||
- CLI server:
|
||||
. Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
|
||||
(Adam)
|
||||
|
||||
- Intl:
|
||||
. Fixed bug #66921 (Wrong argument type hint for function
|
||||
intltz_from_date_time_zone). (Stas)
|
||||
|
@ -666,11 +666,10 @@ static int sapi_cli_server_send_headers(sapi_headers_struct *sapi_headers TSRMLS
|
||||
|
||||
h = (sapi_header_struct*)zend_llist_get_first_ex(&sapi_headers->headers, &pos);
|
||||
while (h) {
|
||||
if (!h->header_len) {
|
||||
continue;
|
||||
if (h->header_len) {
|
||||
smart_str_appendl(&buffer, h->header, h->header_len);
|
||||
smart_str_appendl(&buffer, "\r\n", 2);
|
||||
}
|
||||
smart_str_appendl(&buffer, h->header, h->header_len);
|
||||
smart_str_appendl(&buffer, "\r\n", 2);
|
||||
h = (sapi_header_struct*)zend_llist_get_next_ex(&sapi_headers->headers, &pos);
|
||||
}
|
||||
smart_str_appendl(&buffer, "\r\n", 2);
|
||||
|
43
sapi/cli/tests/bug66830.phpt
Normal file
43
sapi/cli/tests/bug66830.phpt
Normal file
@ -0,0 +1,43 @@
|
||||
--TEST--
|
||||
Bug #66830 (Empty header causes PHP built-in web server to hang)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
include "skipif.inc";
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
include "php_cli_server.inc";
|
||||
php_cli_server_start(<<<'PHP'
|
||||
header(' ');
|
||||
PHP
|
||||
);
|
||||
|
||||
list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
|
||||
$port = intval($port)?:80;
|
||||
|
||||
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
||||
if (!$fp) {
|
||||
die("connect failed");
|
||||
}
|
||||
|
||||
if(fwrite($fp, <<<HEADER
|
||||
GET / HTTP/1.1
|
||||
Host: {$host}
|
||||
|
||||
|
||||
HEADER
|
||||
)) {
|
||||
while (!feof($fp)) {
|
||||
echo fgets($fp);
|
||||
}
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
?>
|
||||
--EXPECTF--
|
||||
HTTP/1.1 200 OK
|
||||
Host: %s
|
||||
Connection: close
|
||||
X-Powered-By: %s
|
||||
Content-type: text/html; charset=UTF-8
|
||||
|
Loading…
Reference in New Issue
Block a user