# HG changeset patch # User Vladimir Homutov # Date 1644411201 -10800 # Node ID 5f78174d1ac1ff5b9b0249d54d990701f36aec31 # Parent e56a05d6dbd175a3129bbc543a9df41cbed588e1 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. diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c --- 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]); }