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.
This commit is contained in:
Amaury Denoyelle 2025-06-16 10:46:05 +02:00
parent 54d74259e9
commit fc1a17f169

View File

@ -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++;
}