QUIC: apply stream flow control to RESET_STREAM final_size

Previously, stream flow control was not applied to the RESET_STREAM
final_size, which allowed a client to exceed it.  The excess had to be
within the connection flow control limits anyway.

Reported by Tony Wang.
This commit is contained in:
Roman Arutyunyan 2026-07-23 11:33:13 +04:00 committed by Roman Arutyunyan
parent 01a6ff75ad
commit e3548e3056

View file

@ -1481,8 +1481,6 @@ ngx_quic_handle_reset_stream_frame(ngx_connection_t *c,
return NGX_OK;
}
qs->recv_state = NGX_QUIC_STREAM_RECV_RESET_RECVD;
if (ngx_quic_control_flow(qs, f->final_size) != NGX_OK) {
return NGX_ERROR;
}
@ -1500,6 +1498,7 @@ ngx_quic_handle_reset_stream_frame(ngx_connection_t *c,
}
qs->recv_final_size = f->final_size;
qs->recv_state = NGX_QUIC_STREAM_RECV_RESET_RECVD;
if (ngx_quic_update_flow(qs, qs->recv_final_size) != NGX_OK) {
return NGX_ERROR;