From ab9523020027683746a6170ef7ef0e435e2b47dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Tue, 8 Aug 2023 10:50:51 +0200 Subject: [PATCH] MINOR: quic: Release asap quic_conn memory from ->close() xprt callback. Add a condition to release asap the quic_conn memory when the connection is in "connection close" state from ->close() QUIC xprt callback. --- src/xprt_quic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index c3b9c6a73..d23ac8933 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -28,8 +28,10 @@ static void quic_close(struct connection *conn, void *xprt_ctx) /* Next application data can be dropped. */ qc->mux_state = QC_MUX_RELEASED; - /* If the quic-conn timer has already expired free the quic-conn. */ - if (qc->flags & QUIC_FL_CONN_EXP_TIMER) { + /* If the quic-conn timer has already expired or if already in "connection close" + * state, free the quic-conn. + */ + if (qc->flags & (QUIC_FL_CONN_EXP_TIMER|QUIC_FL_CONN_CLOSING)) { quic_conn_release(qc); qc = NULL; goto leave;