SPDY: fixed "too long header line" logging.

This fixes possible one byte buffer overrun and makes sure ellipsis are
always added, see 21043ce2a005.
This commit is contained in:
Maxim Dounin 2014-11-07 17:38:55 +03:00
parent e2bc3c11b2
commit fb96936c1a

View File

@ -2656,11 +2656,10 @@ ngx_http_spdy_alloc_large_header_buffer(ngx_http_request_t *r)
if (rest > NGX_MAX_ERROR_STR - 300) { if (rest > NGX_MAX_ERROR_STR - 300) {
rest = NGX_MAX_ERROR_STR - 300; rest = NGX_MAX_ERROR_STR - 300;
p[rest++] = '.'; p[rest++] = '.'; p[rest++] = '.';
} }
ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, ngx_log_error(NGX_LOG_INFO, r->connection->log, 0,
"client sent too long header name or value: \"%*s\"", "client sent too long header name or value: \"%*s...\"",
rest, p); rest, p);
return NGX_DECLINED; return NGX_DECLINED;