aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2014-10-08 17:16:04 +0400
committerMaxim Dounin <mdounin@mdounin.ru>2014-10-08 17:16:04 +0400
commitc01481a4cb5c79e65bd259da6ad33a1eb95cc352 (patch)
tree6da11f412dcd2f3901a1fd15f5fdf7dcb74277a3 /src/http/ngx_http_request.c
parent52e4dc2f74fd032dace01acbe5eb29ddf7c1ad96 (diff)
downloadnginx-c01481a4cb5c79e65bd259da6ad33a1eb95cc352.tar.gz
nginx-c01481a4cb5c79e65bd259da6ad33a1eb95cc352.zip
Fixed possible buffer overrun in "too long header line" logging.
Additionally, ellipsis now always added to make it clear that the header logged is incomplete. Reported by Daniil Bondarev.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 2b932dee4..18c3b04e4 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1227,12 +1227,11 @@ ngx_http_process_request_headers(ngx_event_t *rev)
if (len > NGX_MAX_ERROR_STR - 300) {
len = NGX_MAX_ERROR_STR - 300;
- p[len++] = '.'; p[len++] = '.'; p[len++] = '.';
}
ngx_log_error(NGX_LOG_INFO, c->log, 0,
- "client sent too long header line: \"%*s\"",
- len, r->header_name_start);
+ "client sent too long header line: \"%*s...\"",
+ len, r->header_name_start);
ngx_http_finalize_request(r,
NGX_HTTP_REQUEST_HEADER_TOO_LARGE);