This bug impacts only the backends.
The ->conn (pointer to struct connection) member validity of the ssl_sock_ctx
struct was not checked before being dereferenced, leading to possible crashes
in qc_ssl_do_hanshake() during handshake.
This was reported by GH #3163 issue.
No need to backport because the QUIC backend support arrived with 3.3
goto err;
}
}
- else {
+ else if (ctx->conn) {
const unsigned char *alpn;
size_t alpn_len;
ctx->conn->mux->wake(ctx->conn);
qc->mux_state = QC_MUX_READY;
}
+ else {
+ TRACE_PROTO("could not start the mux", QUIC_EV_CONN_IO_CB, qc);
+ }
qc->flags |= QUIC_FL_CONN_NEED_POST_HANDSHAKE_FRMS;
if (!qc_is_back(qc)) {