From e5a17b0bc027875758aca3ebfe8f03d36a24117f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Tue, 18 Jul 2023 11:44:06 +0200 Subject: [PATCH] BUG/MINOR: quic: Unckecked encryption levels availability This bug arrived with this commit: MEDIUM: quic: Dynamic allocations of QUIC TLS encryption levels It is possible that haproxy receives a late Initial packet after it has released its Initial or Handshake encryption levels. In this case it must not try to retransmit packets from such encryption levels to speed up the handshake completion. No need to backport. --- src/quic_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quic_conn.c b/src/quic_conn.c index f3891f12f..5ec8f0d9e 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -3328,7 +3328,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt, /* Flag this packet number space as having received a packet. */ qel->pktns->flags |= QUIC_FL_PKTNS_PKT_RECEIVED; - if (fast_retrans) { + if (fast_retrans && qc->iel && qc->hel) { struct quic_enc_level *iqel = qc->iel; struct quic_enc_level *hqel = qc->hel;