mirror of
https://github.com/nginx/nginx.git
synced 2026-06-26 11:52:00 +00:00
SPDY: better detect if headers block has wrong entries count.
Previously, only one case was checked: if there's more data to parse in a r->header_in buffer, but the buffer can be filled to the end by the last parsed entry, so we also need to check that there's no more data to inflate.
This commit is contained in:
parent
042122a066
commit
de3c7a825e
1 changed files with 4 additions and 4 deletions
|
|
@ -1196,10 +1196,10 @@ ngx_http_spdy_state_headers(ngx_http_spdy_connection_t *sc, u_char *pos,
|
|||
}
|
||||
}
|
||||
|
||||
if (buf->pos != buf->last) {
|
||||
/* TODO: improve error message */
|
||||
ngx_log_debug3(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
|
||||
"end %ui %p %p", complete, buf->pos, buf->last);
|
||||
if (buf->pos != buf->last || sc->zstream_in.avail_in) {
|
||||
ngx_log_error(NGX_LOG_INFO, r->connection->log, 0,
|
||||
"client sent SYN_STREAM frame "
|
||||
"with invalid HEADERS block");
|
||||
ngx_http_spdy_close_stream(sc->stream, NGX_HTTP_BAD_REQUEST);
|
||||
return ngx_http_spdy_state_protocol_error(sc);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue