Request body: added alert to catch duplicate body saving.

If due to an error ngx_http_request_body_save_filter() is called
more than once with rb->rest == 0, this used to result in a segmentation
fault.  Added an alert to catch such errors, just in case.
This commit is contained in:
Maxim Dounin 2021-08-29 22:20:54 +03:00
parent 9dbe0c18e4
commit 5a012034c7

View file

@ -1246,6 +1246,12 @@ ngx_http_request_body_save_filter(ngx_http_request_t *r, ngx_chain_t *in)
if (rb->temp_file || r->request_body_in_file_only) {
if (rb->bufs && rb->bufs->buf->in_file) {
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
"body already in file");
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
if (ngx_http_write_request_body(r) != NGX_OK) {
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}