int ret;
QCTX ctx;
SSL *conn_ssl = NULL;
+ SSL_CONNECTION *conn = NULL;
QUIC_CHANNEL *new_ch = NULL;
QUIC_CONNECTION *qc;
int no_block = ((flags & SSL_ACCEPT_CONNECTION_NO_BLOCK) != 0);
ossl_quic_reactor_tick(ossl_quic_engine_get0_reactor(ctx.ql->engine), 0);
new_ch = ossl_quic_port_pop_incoming(ctx.ql->port);
- if (new_ch == NULL)
- goto out;
}
/*
* created channel, so once we pop the new channel from the port above
* we just need to extract it
*/
- conn_ssl = ossl_quic_channel_get0_tls(new_ch);
- if (conn_ssl == NULL)
- goto out;
- conn_ssl = SSL_CONNECTION_GET_USER_SSL(SSL_CONNECTION_FROM_SSL(conn_ssl));
- if (conn_ssl == NULL)
+ if (new_ch == NULL
+ || (conn_ssl = ossl_quic_channel_get0_tls(new_ch)) == NULL
+ || (conn = SSL_CONNECTION_FROM_SSL(conn_ssl)) == NULL
+ || (conn_ssl = SSL_CONNECTION_GET_USER_SSL(conn)) == NULL)
goto out;
qc = (QUIC_CONNECTION *)conn_ssl;
qc->listener = ctx.ql;
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(qtls->args.s);
- if (!SSL_IS_QUIC_HANDSHAKE(sc) || !SSL_in_before(qtls->args.s))
+ if (sc == NULL || !SSL_IS_QUIC_HANDSHAKE(sc) || !SSL_in_before(qtls->args.s))
return 0;
if (!enabled) {