mirror of
https://github.com/nginx/nginx.git
synced 2024-12-19 05:33:52 -06:00
HTTP/2: fixed saving preread buffer to temp file (ticket #1143).
Previously, a request body bigger than "client_body_buffer_size" wasn't written into a temporary file if it has been pre-read entirely. The preread buffer is freed after processing, thus subsequent use of it might result in sending corrupted body or cause a segfault.
This commit is contained in:
parent
4c6e31a857
commit
89f92b3243
@ -3575,6 +3575,9 @@ ngx_http_v2_read_request_body(ngx_http_request_t *r,
|
||||
rb->buf = ngx_create_temp_buf(r->pool, (size_t) len);
|
||||
|
||||
} else {
|
||||
/* enforce writing body to file */
|
||||
r->request_body_in_file_only = 1;
|
||||
|
||||
rb->buf = ngx_calloc_buf(r->pool);
|
||||
|
||||
if (rb->buf != NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user