From ed66b0f04a39581fcb0af314b57e19c3397c4714 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Thu, 18 Nov 2021 14:38:00 +0100 Subject: [PATCH] BUG/MINOR: quic: fix segfault on trace for version negotiation When receiving Initial packets for Version Negotiation, no quic_conn is instantiated. Thus, on the final trace, the quic_conn dereferencement must be tested before using it. --- src/xprt_quic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index d1e24ba9d..a13208214 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -3874,7 +3874,7 @@ static ssize_t qc_lstnr_pkt_rcv(unsigned char **buf, const unsigned char *end, if (conn_ctx && HA_ATOMIC_LOAD(&conn_ctx->conn->ctx)) tasklet_wakeup(conn_ctx->wait_event.tasklet); - TRACE_LEAVE(QUIC_EV_CONN_LPKT, qc->conn, pkt); + TRACE_LEAVE(QUIC_EV_CONN_LPKT, qc ? qc->conn : NULL, pkt); return pkt->len;