use %*s instead of %V

This commit is contained in:
Igor Sysoev 2009-09-01 12:35:52 +00:00
parent d77c42a16a
commit bb5c3b7b73

View file

@ -893,9 +893,10 @@ ngx_http_process_request_line(ngx_event_t *rev)
static void static void
ngx_http_process_request_headers(ngx_event_t *rev) ngx_http_process_request_headers(ngx_event_t *rev)
{ {
u_char *p;
size_t len;
ssize_t n; ssize_t n;
ngx_int_t rc, rv; ngx_int_t rc, rv;
ngx_str_t header;
ngx_table_elt_t *h; ngx_table_elt_t *h;
ngx_connection_t *c; ngx_connection_t *c;
ngx_http_header_t *hh; ngx_http_header_t *hh;
@ -935,19 +936,17 @@ ngx_http_process_request_headers(ngx_event_t *rev)
} }
if (rv == NGX_DECLINED) { if (rv == NGX_DECLINED) {
header.len = r->header_in->end - r->header_name_start; len = r->header_in->end - r->header_name_start;
header.data = r->header_name_start; p = r->header_name_start;
if (header.len > NGX_MAX_ERROR_STR - 300) { if (len > NGX_MAX_ERROR_STR - 300) {
header.len = NGX_MAX_ERROR_STR - 300; len = NGX_MAX_ERROR_STR - 300;
header.data[header.len++] = '.'; p[len++] = '.'; p[len++] = '.'; p[len++] = '.';
header.data[header.len++] = '.';
header.data[header.len++] = '.';
} }
ngx_log_error(NGX_LOG_INFO, c->log, 0, ngx_log_error(NGX_LOG_INFO, c->log, 0,
"client sent too long header line: \"%V\"", "client sent too long header line: \"%*s\"",
&header); len, r->header_name_start);
ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
return; return;
} }
@ -969,12 +968,10 @@ ngx_http_process_request_headers(ngx_event_t *rev)
/* there was error while a header line parsing */ /* there was error while a header line parsing */
header.len = r->header_end - r->header_name_start;
header.data = r->header_name_start;
ngx_log_error(NGX_LOG_INFO, c->log, 0, ngx_log_error(NGX_LOG_INFO, c->log, 0,
"client sent invalid header line: \"%V\"", "client sent invalid header line: \"%*s\"",
&header); r->header_end - r->header_name_start,
r->header_name_start);
continue; continue;
} }
@ -1054,11 +1051,10 @@ ngx_http_process_request_headers(ngx_event_t *rev)
/* rc == NGX_HTTP_PARSE_INVALID_HEADER: "\r" is not followed by "\n" */ /* rc == NGX_HTTP_PARSE_INVALID_HEADER: "\r" is not followed by "\n" */
header.len = r->header_end - r->header_name_start;
header.data = r->header_name_start;
ngx_log_error(NGX_LOG_INFO, c->log, 0, ngx_log_error(NGX_LOG_INFO, c->log, 0,
"client sent invalid header line: \"%V\\r...\"", "client sent invalid header line: \"%*s\\r...\"",
&header); r->header_end - r->header_name_start,
r->header_name_start);
ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
return; return;
} }