mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.3'
* PHP-7.3: Fix #76954: apache_response_headers removes last character from header name
This commit is contained in:
commit
c266a19094
2 changed files with 50 additions and 2 deletions
|
@ -1689,9 +1689,9 @@ static void add_response_header(sapi_header_struct *h, zval *return_value) /* {{
|
||||||
len = p - h->header;
|
len = p - h->header;
|
||||||
}
|
}
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
do {
|
while (len != 0 && (h->header[len-1] == ' ' || h->header[len-1] == '\t')) {
|
||||||
len--;
|
len--;
|
||||||
} while (len != 0 && (h->header[len-1] == ' ' || h->header[len-1] == '\t'));
|
}
|
||||||
if (len) {
|
if (len) {
|
||||||
s = do_alloca(len + 1, use_heap);
|
s = do_alloca(len + 1, use_heap);
|
||||||
memcpy(s, h->header, len);
|
memcpy(s, h->header, len);
|
||||||
|
|
48
sapi/cgi/tests/apache_response_headers.phpt
Normal file
48
sapi/cgi/tests/apache_response_headers.phpt
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
--TEST--
|
||||||
|
apache_response_headers()
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
include "skipif.inc";
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
include "include.inc";
|
||||||
|
|
||||||
|
$php = get_cgi_path();
|
||||||
|
reset_env_vars();
|
||||||
|
|
||||||
|
$test_file = dirname(__FILE__) . DIRECTORY_SEPARATOR ."apache_response_headers.test.php";
|
||||||
|
|
||||||
|
$code = '<?php';
|
||||||
|
$code .= '
|
||||||
|
header( "X-Robots-Tag : noindex,nofollow,noarchive" );
|
||||||
|
header( "Content-type: text/html; charset=UTF-8" );
|
||||||
|
header( "Bad-header" );
|
||||||
|
header( " : " );
|
||||||
|
header( ":" );
|
||||||
|
flush();
|
||||||
|
|
||||||
|
var_dump( apache_response_headers() );
|
||||||
|
?>
|
||||||
|
';
|
||||||
|
|
||||||
|
file_put_contents( $test_file, $code );
|
||||||
|
|
||||||
|
passthru( "$php -n -q " . escapeshellarg( $test_file ) );
|
||||||
|
|
||||||
|
?>
|
||||||
|
===DONE===
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
@unlink( dirname(__FILE__) . DIRECTORY_SEPARATOR ."apache_response_headers.test.php" );
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
array(3) {
|
||||||
|
["X-Powered-By"]=>
|
||||||
|
string(%d) "PHP/%s"
|
||||||
|
["X-Robots-Tag"]=>
|
||||||
|
string(26) "noindex,nofollow,noarchive"
|
||||||
|
["Content-type"]=>
|
||||||
|
string(24) "text/html; charset=UTF-8"
|
||||||
|
}
|
||||||
|
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue