]> 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)
commita60bdcd8236919ced645115025d5cadaab295463
tree1803d57d8ec30bb01f6dbc83d5565387272d6a67
parent4050b961af7217e115964443cb7500bf7e02e64e
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