mirror of
https://github.com/nginx/nginx.git
synced 2025-01-21 19:53:00 +08:00
HTTP/3: fixed Insert With Name Reference index processing.
Based on a patch by Zhiyong Sun.
This commit is contained in:
parent
27a24f4c6b
commit
03fcff287d
@ -159,12 +159,23 @@ ngx_int_t
|
||||
ngx_http_v3_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic,
|
||||
ngx_uint_t index, ngx_str_t *value)
|
||||
{
|
||||
ngx_str_t name;
|
||||
ngx_str_t name;
|
||||
ngx_http_v3_session_t *h3c;
|
||||
ngx_http_v3_dynamic_table_t *dt;
|
||||
|
||||
if (dynamic) {
|
||||
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,
|
||||
"http3 ref insert dynamic[%ui] \"%V\"", index, value);
|
||||
|
||||
h3c = ngx_http_v3_get_session(c);
|
||||
dt = &h3c->table;
|
||||
|
||||
if (dt->base + dt->nelts <= index) {
|
||||
return NGX_HTTP_V3_ERR_ENCODER_STREAM_ERROR;
|
||||
}
|
||||
|
||||
index = dt->base + dt->nelts - 1 - index;
|
||||
|
||||
if (ngx_http_v3_lookup(c, index, &name, NULL) != NGX_OK) {
|
||||
return NGX_HTTP_V3_ERR_ENCODER_STREAM_ERROR;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user