From 64670884ba10f2645cf4dae2c5b307bcdce3f605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Fri, 1 Apr 2022 11:57:19 +0200 Subject: [PATCH] BUG/MINOR: quic: Missing ACK range deallocations free_quic_arngs() was implemented but not used. Let's call it from quic_conn_release(). --- src/xprt_quic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 22a652a4f..32e293f64 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -3122,7 +3122,7 @@ static int quic_build_post_handshake_frames(struct quic_conn *qc) } /* Deallocate 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);