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.
This commit is contained in:
Sergey Kandaurov 2021-06-01 11:41:38 +03:00
parent e8a7625269
commit 1f85c660cb

View File

@ -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;
}