mirror of
https://github.com/php/php-src.git
synced 2024-12-01 13:54:10 +08:00
Merge branch 'PHP-5.6'
* PHP-5.6: Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
This commit is contained in:
commit
1a43eac259
@ -603,11 +603,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