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]);
                 }