]> git.kaiwu.me - nginx.git/commit
gRPC: clearing buffers in ngx_http_grpc_get_buf().
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 2 Jul 2018 16:02:08 +0000 (19:02 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 2 Jul 2018 16:02:08 +0000 (19:02 +0300)
commitd842b4e5e0ebda87559d804de29dd56bd4cbc4dc
tree9a8a5ec584bb7838390aac34084dd338d46c450b
parent468e37734c48e63296e9f633fd6319519b5f8c74
gRPC: clearing buffers in ngx_http_grpc_get_buf().

We copy input buffers to our buffers, so various flags might be
unexpectedly set in buffers returned by ngx_chain_get_free_buf().

In particular, the b->in_file flag might be set when the body was
written to a file in a different context.  With sendfile enabled this
in turn might result in protocol corruption if such a buffer was reused
for a control frame.

Make sure to clear buffers and set only fields we really need to be set.
src/http/modules/ngx_http_grpc_module.c