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