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