mirror of
https://github.com/nginx/nginx.git
synced 2024-12-04 13:59:00 +08:00
FastCGI: fixed wrong connection close with fastcgi_keep_conn.
With fastcgi_keep_conn it was possible that connection was closed after FCGI_STDERR record with zero padding and without any further data read yet. This happended as f->state was set to ngx_http_fastcgi_st_padding and then "break" happened, resulting in p->length being set to f->padding, i.e. 0 (which in turn resulted in connection close). Fix is to make sure we continue the loop after f->state is set.
This commit is contained in:
parent
e97e4124e3
commit
1c5fce7518
@ -1788,10 +1788,6 @@ ngx_http_fastcgi_input_filter(ngx_event_pipe_t *p, ngx_buf_t *buf)
|
||||
"FastCGI sent in stderr: \"%*s\"",
|
||||
m + 1 - msg, msg);
|
||||
|
||||
if (f->pos == f->last) {
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (f->padding) {
|
||||
f->state = ngx_http_fastcgi_st_padding;
|
||||
|
Loading…
Reference in New Issue
Block a user