Mercurial > hg > nginx
changeset 5871:21043ce2a005
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.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 08 Oct 2014 17:16:04 +0400 |
parents | 5e72578e6503 |
children | de7ec5eef6d2 |
files | src/http/ngx_http_request.c |
diffstat | 1 files changed, 2 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_request.c Thu Oct 02 12:00:17 2014 -0700 +++ b/src/http/ngx_http_request.c Wed Oct 08 17:16:04 2014 +0400 @@ -1227,12 +1227,11 @@ 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);