Mercurial > hg > nginx
changeset 9006:5f78174d1ac1 quic
QUIC: fixed output context restoring.
The cd8018bc81a5 fixed unintended send of non-padded initial packets,
but failed to restore context properly: only processed contexts need
to be restored. As a consequence, a packet number could be restored
from uninitialized value.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 09 Feb 2022 15:53:21 +0300 |
parents | e56a05d6dbd1 |
children | 2dc4203d812c |
files | src/event/quic/ngx_event_quic_output.c |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/quic/ngx_event_quic_output.c +++ b/src/event/quic/ngx_event_quic_output.c @@ -165,7 +165,7 @@ ngx_quic_create_datagrams(ngx_connection if (min > len) { /* padding can't be applied - avoid sending the packet */ - for (i = 0; i < NGX_QUIC_SEND_CTX_LAST; i++) { + while (i-- > 0) { ctx = &qc->send_ctx[i]; ngx_quic_revert_send(c, ctx, preserved_pnum[i]); }