From: Frédéric Lécaille Date: Thu, 10 Aug 2023 15:15:21 +0000 (+0200) Subject: BUG/MINOR: quic: mux started when releasing quic_conn X-Git-Tag: v2.9-dev3~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1ab6126ca79ed0f7406430b0be566d900e84d3a3;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: mux started when releasing quic_conn There are cases where the mux is started before the handshake is completed: during 0-RTT sessions. So, it was a bad idea to try to release the quic_conn object from quic_conn_io_cb() without checking if the mux is started. No need to backport. --- diff --git a/src/quic_conn.c b/src/quic_conn.c index c0c128a462..ba4ab5ce9a 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -970,7 +970,7 @@ struct task *quic_conn_io_cb(struct task *t, void *context, unsigned int state) quic_nictx_free(qc); } - if (qc->flags & QUIC_FL_CONN_CLOSING) { + if ((qc->flags & QUIC_FL_CONN_CLOSING) && qc->mux_state != QC_MUX_READY) { quic_conn_release(qc); qc = NULL; }