From fc1a17f169c01a1fea8f31abeaeef9a9f6c35f17 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Mon, 16 Jun 2025 10:46:05 +0200 Subject: [PATCH] BUG/MINOR: mux-quic: check sc_attach_mux return value On backend side, QUIC MUX needs to initialize the first local stream during MUX init operation. This is necessary so that the first transfer can then be performed. sc_attach_mux() is used to attach the created QCS instance to its stream data layer. However, return value was not checked, which may cause issues on allocation error. This patch fixes it by returning an error on MUX init operation and freeing the QCS instance in case of sc_attach_mux() error. This fixes coverity report from github issue #3007. No need to backport. --- src/mux_quic.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mux_quic.c b/src/mux_quic.c index b3fcd6517..af8285818 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -3570,7 +3570,13 @@ static int qmux_init(struct connection *conn, struct proxy *prx, goto err; } - sc_attach_mux(sc, qcs, conn); + if (sc_attach_mux(sc, qcs, conn)) { + TRACE_ERROR("Cannot attach backend first init stream", + QMUX_EV_QCC_NEW|QMUX_EV_QCC_ERR, conn); + qcs_free(qcs); + goto err; + } + qcs->sd = sc->sedesc; qcc->nb_sc++; } -- 2.47.3