From: Amaury Denoyelle Date: Thu, 18 Nov 2021 13:38:00 +0000 (+0100) Subject: BUG/MINOR: quic: fix segfault on trace for version negotiation X-Git-Tag: v2.5-dev15~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed66b0f04a39581fcb0af314b57e19c3397c4714;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index d1e24ba9d9..a13208214e 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;