]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Missing ACK range deallocations
authorFrédéric Lécaille <flecaille@haproxy.com>
Fri, 1 Apr 2022 09:57:19 +0000 (11:57 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 1 Apr 2022 14:26:06 +0000 (16:26 +0200)
free_quic_arngs() was implemented but not used. Let's call it from
quic_conn_release().

src/xprt_quic.c

index 22a652a4fbb855b1aa126c9a26063b66dbd35074..32e293f64c9d4f432c6b57f0bbc43ea4a70a7c55 100644 (file)
@@ -3122,7 +3122,7 @@ static int quic_build_post_handshake_frames(struct quic_conn *qc)
 }
 
 /* Deallocate <l> list of ACK ranges. */
-void free_quic_arngs(struct quic_arngs *arngs)
+void quic_free_arngs(struct quic_arngs *arngs)
 {
        struct eb64_node *n;
        struct quic_arng_node *ar;
@@ -3802,6 +3802,9 @@ static void quic_conn_release(struct quic_conn *qc)
        pool_free(pool_head_quic_tls_secret, app_tls_ctx->rx.secret);
        pool_free(pool_head_quic_tls_secret, app_tls_ctx->tx.secret);
 
+       for (i = 0; i < QUIC_TLS_PKTNS_MAX; i++)
+               quic_free_arngs(&qc->pktns[i].rx.arngs);
+
        pool_free(pool_head_quic_conn_rxbuf, qc->rx.buf.area);
        pool_free(pool_head_quic_conn, qc);
        TRACE_PROTO("QUIC conn. freed", QUIC_EV_CONN_FREED, qc);