]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: Wrong packet number space selection in quic_loss_pktns()
authorFrédéric Lécaille <flecaille@haproxy.com>
Fri, 17 Sep 2021 15:17:16 +0000 (17:17 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Sep 2021 13:27:25 +0000 (15:27 +0200)
Ensure the tick is set for a packet number space loss time before
selecting it.

include/haproxy/quic_loss.h

index 16fe5aa317669233c9da8e3ac98133dba7bcabab..ca7a0261031ea01abfc54d301306d0c8ecd6108b 100644 (file)
@@ -110,9 +110,10 @@ static inline struct quic_pktns *quic_loss_pktns(struct quic_conn *qc)
 
        pktns = &qc->pktns[QUIC_TLS_PKTNS_INITIAL];
        TRACE_PROTO("pktns", QUIC_EV_CONN_SPTO, qc->conn, pktns);
-       for (i = QUIC_TLS_PKTNS_01RTT; i < QUIC_TLS_PKTNS_MAX; i++) {
+       for (i = QUIC_TLS_PKTNS_HANDSHAKE; i < QUIC_TLS_PKTNS_MAX; i++) {
                TRACE_PROTO("pktns", QUIC_EV_CONN_SPTO, qc->conn, &qc->pktns[i]);
-               if (qc->pktns[i].tx.loss_time < pktns->tx.loss_time)
+               if (tick_isset(pktns->tx.loss_time) &&
+                   qc->pktns[i].tx.loss_time < pktns->tx.loss_time)
                        pktns = &qc->pktns[i];
        }