summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2026-02-20 05:08:09 +0000
committerSergey Kandaurov <s.kandaurov@f5.com>2026-03-16 11:38:06 +0400
commita29476464cc86092135401bdcad91e4d38ac6b6d (patch)
tree6462a038d128d4947a7fe4897426e306f4b4cb06 /src/http/modules
parentbcd1a01d3bf54fb20de23356df0a23aa16487fd5 (diff)
downloadnginx-a29476464cc86092135401bdcad91e4d38ac6b6d.tar.gz
nginx-a29476464cc86092135401bdcad91e4d38ac6b6d.tar.bz2
gRPC: reset buffer chains on upstream reinit.
Previously, ctx->out was not cleared in ngx_http_grpc_reinit_request(), which could cause queued HTTP/2 control frames (SETTINGS ACK, PING ACK, WINDOW_UPDATE) to be sent on next upstream. Additionally, ctx->in and ctx->busy needs to be cleared to avoid similar problems with buffered request body fixed in cd12dc4f1.
Diffstat (limited to 'src/http/modules')
-rw-r--r--src/http/modules/ngx_http_grpc_module.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_grpc_module.c b/src/http/modules/ngx_http_grpc_module.c
index 4c95525b4..cc3aebe59 100644
--- a/src/http/modules/ngx_http_grpc_module.c
+++ b/src/http/modules/ngx_http_grpc_module.c
@@ -1224,6 +1224,9 @@ ngx_http_grpc_reinit_request(ngx_http_request_t *r)
ctx->rst = 0;
ctx->goaway = 0;
ctx->connection = NULL;
+ ctx->in = NULL;
+ ctx->busy = NULL;
+ ctx->out = NULL;
return NGX_OK;
}