mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fix #67594 - invisible colon should be stripped off header name
This commit is contained in:
parent
377750cd8f
commit
1684ba3c6f
1 changed files with 8 additions and 4 deletions
|
@ -1685,10 +1685,14 @@ static int php_cli_server_client_read_request_on_header_value(php_http_parser *p
|
|||
return 1;
|
||||
}
|
||||
{
|
||||
char *header_name = zend_str_tolower_dup(client->current_header_name, client->current_header_name_len);
|
||||
zend_hash_add(&client->request.headers, header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL);
|
||||
zend_hash_add(&client->request.headers_original_case, client->current_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL);
|
||||
efree(header_name);
|
||||
/* strip off the colon */
|
||||
char *orig_header_name = estrndup(client->current_header_name, client->current_header_name_len);
|
||||
char *lc_header_name = zend_str_tolower_dup(client->current_header_name, client->current_header_name_len);
|
||||
|
||||
zend_hash_add(&client->request.headers, lc_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL);
|
||||
zend_hash_add(&client->request.headers_original_case, orig_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL);
|
||||
efree(lc_header_name);
|
||||
efree(orig_header_name);
|
||||
}
|
||||
|
||||
if (client->current_header_name_allocated) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue