]> git.kaiwu.me - nginx.git/commit
HTTP/3: skip empty request body buffers (ticket #2374).
authorRoman Arutyunyan <arut@nginx.com>
Wed, 3 Aug 2022 12:59:51 +0000 (16:59 +0400)
committerRoman Arutyunyan <arut@nginx.com>
Wed, 3 Aug 2022 12:59:51 +0000 (16:59 +0400)
commit5cde1259b2de257ce380813f03ef874c37632423
tree322ef83fb12347db54dede21112bea8eb4058acd
parent30ff0778544b4366867ac7ba8e3431b082f31ab4
HTTP/3: skip empty request body buffers (ticket #2374).

When client DATA frame header and its content come in different QUIC packets,
it may happen that only the header is processed by the first
ngx_http_v3_request_body_filter() call.  In this case an empty request body
buffer is added to r->request_body->bufs, which is later reused in a
subsequent ngx_http_v3_request_body_filter() call without being removed from
the body chain.  As a result, rb->request_body->bufs ends up with two copies of
the same buffer.

The fix is to avoid adding empty request body buffers to r->request_body->bufs.
src/http/v3/ngx_http_v3_request.c