]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: Release asap quic_conn memory from ->close() xprt callback.
authorFrédéric Lécaille <flecaille@haproxy.com>
Tue, 8 Aug 2023 08:50:51 +0000 (10:50 +0200)
committerFrédéric Lécaille <flecaille@haproxy.com>
Tue, 8 Aug 2023 12:59:17 +0000 (14:59 +0200)
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

index c3b9c6a731713aee35950a48699008480dfff2c6..d23ac89334115db84399ac0baced6a412a247041 100644 (file)
@@ -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;