aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2021-06-01 11:41:38 +0300
committerSergey Kandaurov <pluknet@nginx.com>2021-06-01 11:41:38 +0300
commit1f85c660cb3e94b60a0f2ec8495f72a43cddb378 (patch)
tree33b79b07398cae3ce56fde0645f770a69503c5c7 /src
parente8a76252699339b2fa615ec0e3f01ae1afbb36d8 (diff)
downloadnginx-1f85c660cb3e94b60a0f2ec8495f72a43cddb378.tar.gz
nginx-1f85c660cb3e94b60a0f2ec8495f72a43cddb378.zip
HTTP/3: fixed parsing encoder insertions with empty header value.
When starting processing a new encoder instruction, the header state is not memzero'ed because generally it's burdensome. If the header value is empty, this resulted in inserting a stale value left from the previous instruction. Based on a patch by Zhiyong Sun.
Diffstat (limited to 'src')
-rw-r--r--src/http/v3/ngx_http_v3_parse.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/v3/ngx_http_v3_parse.c b/src/http/v3/ngx_http_v3_parse.c
index fcb39b209..40366e665 100644
--- a/src/http/v3/ngx_http_v3_parse.c
+++ b/src/http/v3/ngx_http_v3_parse.c
@@ -1366,6 +1366,7 @@ ngx_http_v3_parse_header_inr(ngx_connection_t *c,
st->literal.length = st->pint.value;
if (st->literal.length == 0) {
+ st->value.len = 0;
goto done;
}
@@ -1470,6 +1471,7 @@ ngx_http_v3_parse_header_iwnr(ngx_connection_t *c,
st->literal.length = st->pint.value;
if (st->literal.length == 0) {
+ st->value.len = 0;
goto done;
}