From bccbad2654908140dec8d5dab368f6109cc7e559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Wed, 31 Aug 2022 15:02:53 +0200 Subject: [PATCH] BUG/MINOR: quic: TX frames memleak Missing call to pool_free() for quic_frame objects Must be backported to 2.6. --- src/xprt_quic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 399b3e38f..2ed8adbec 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -1764,6 +1764,7 @@ static inline void qc_requeue_nacked_pkt_tx_frms(struct quic_conn *qc, if (strm_frm->offset.key + strm_frm->len <= stream_desc->ack_offset) { TRACE_DEVEL("ignored frame in already acked range", QUIC_EV_CONN_PRSAFRM, qc, frm); + pool_free(pool_head_quic_frame, frm); continue; } else if (strm_frm->offset.key < stream_desc->ack_offset) { @@ -3424,6 +3425,7 @@ static int quic_build_post_handshake_frames(struct quic_conn *qc) LIST_INIT(&frm->reflist); cid = new_quic_cid(&qc->cids, qc, i); if (!cid) { + pool_free(pool_head_quic_frame, frm); TRACE_ERROR("CID allocation error", QUIC_EV_CONN_IO_CB, qc); goto err; }