mirror of
https://github.com/nginx/nginx.git
synced 2024-12-12 18:29: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\"",
|
"FastCGI sent in stderr: \"%*s\"",
|
||||||
m + 1 - msg, msg);
|
m + 1 - msg, msg);
|
||||||
|
|
||||||
if (f->pos == f->last) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (f->padding) {
|
if (f->padding) {
|
||||||
f->state = ngx_http_fastcgi_st_padding;
|
f->state = ngx_http_fastcgi_st_padding;
|
||||||
|
Loading…
Reference in New Issue
Block a user