]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: quic: Possible crash with released mux
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 20 Apr 2022 13:59:07 +0000 (15:59 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 21 Apr 2022 13:27:33 +0000 (15:27 +0200)
It is possible the xprt layer have to process retransmitted STREAM frames after
the mux was released. In this case, there is no need to try to wake it up.

src/xprt_quic.c

index 21abd855794be7070f4dc58e0224de2a04b2f38e..c1a7be1a9c4544c802ab75d0f810e7e214fe77a0 100644 (file)
@@ -1544,7 +1544,7 @@ static inline void qc_treat_acked_tx_frm(struct quic_conn *qc,
                pool_free(pool_head_quic_frame, frm);
        }
 
-       if (stream_acked) {
+       if (stream_acked && qc->mux_state == QC_MUX_READY) {
                struct qcc *qcc = qc->qcc;
 
                if (qcc->subs && qcc->subs->events & SUB_RETRY_SEND) {