mirror of
https://github.com/nginx/nginx.git
synced 2026-10-22 20:11:17 +00:00
FastCGI: skip special bufs in buffered request body chain.
This prevents forming empty records out of such buffers. Particularly it fixes double end-of-stream records with chunked transfer encoding, or when HTTP/2 is used and the END_STREAM flag has been sent without data. In both cases there is an empty buffer at the end of the request body chain with the "last_buf" flag set. The canonical libfcgi, as well as php implementation, tolerates such records, while the HHVM parser is more strict and drops the connection (ticket #950).
This commit is contained in:
parent
400d42437c
commit
4c1b9fef65
1 changed files with 5 additions and 0 deletions
|
|
@ -1177,6 +1177,11 @@ ngx_http_fastcgi_create_request(ngx_http_request_t *r)
|
|||
|
||||
while (body) {
|
||||
|
||||
if (ngx_buf_special(body->buf)) {
|
||||
body = body->next;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (body->buf->in_file) {
|
||||
file_pos = body->buf->file_pos;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue