]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Possible crash in quic_cc_conn_io_cb() traces.
authorFrédéric Lécaille <flecaille@haproxy.com>
Thu, 10 Aug 2023 15:21:19 +0000 (17:21 +0200)
committerFrédéric Lécaille <flecaille@haproxy.com>
Thu, 10 Aug 2023 15:21:19 +0000 (17:21 +0200)
Reset the local cc_qc and qc after having released cc_qc. Note that
cc_qc == qc. This is required to prevent haproxy from crashing
when TRACE_LEAVE() is called.

No need to backport.

src/quic_conn.c

index ba4ab5ce9a5009dd766b264d0ac35bbb2f53804b..6751b360e9a1fe3d0589af8e75cc9f14e9cae24a 100644 (file)
@@ -798,6 +798,8 @@ static struct task *quic_cc_conn_io_cb(struct task *t, void *context, unsigned i
        if (qc_snd_buf(qc, &buf, buf.data, 0) < 0) {
                TRACE_ERROR("sendto fatal error", QUIC_EV_CONN_IO_CB, qc);
                quic_release_cc_conn(cc_qc);
+               cc_qc = NULL;
+               qc = NULL;
                goto leave;
        }