Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643035
Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643039
Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643041
Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643044
Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643045
Fixes https://scan5.scan.coverity.com/#/project-view/62507/10222?selectedIssue=
1643046
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26840)
& OSSL_QUIC_PERMITTED_OPTIONS;
}
+ ret = ctx.qc->default_ssl_options;
if (ctx.xso != NULL) {
ctx.xso->ssl_options
= ((ctx.xso->ssl_options & ~mask_value) | or_value)
& OSSL_QUIC_PERMITTED_OPTIONS_STREAM;
xso_update_options(ctx.xso);
- }
- ret = ctx.is_stream ? ctx.xso->ssl_options : ctx.qc->default_ssl_options;
+ if (ctx.is_stream)
+ ret = ctx.xso->ssl_options;
+ }
qctx_unlock(&ctx);
return ret;
QUIC_CHANNEL *ch;
SSL *tls;
SSL *user_ssl;
+ SSL_CONNECTION *sc;
for (;;) {
ch = ossl_quic_port_pop_incoming(port);
* which sends us through ossl_quic_free, which then drops the actual
* ch->tls ref and frees the channel
*/
- user_ssl = SSL_CONNECTION_GET_USER_SSL(SSL_CONNECTION_FROM_SSL(tls));
+ sc = SSL_CONNECTION_FROM_SSL(tls);
+ if (sc == NULL)
+ break;
+
+ user_ssl = SSL_CONNECTION_GET_USER_SSL(sc);
if (user_ssl == tls) {
ossl_quic_channel_free(ch);
SSL_free(tls);
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(qtls->args.s);
- if (!SSL_set_min_proto_version(qtls->args.s, TLS1_3_VERSION))
+ if (sc == NULL || !SSL_set_min_proto_version(qtls->args.s, TLS1_3_VERSION))
return RAISE_INTERNAL_ERROR(qtls);
SSL_clear_options(qtls->args.s, SSL_OP_ENABLE_MIDDLEBOX_COMPAT);
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
CERT_PKEY *cpk = NULL;
+ if (sc == NULL)
+ return 0;
+
if (sc->cert != NULL)
cpk = sc->cert->key;
else
{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
- if (t == NULL || len == NULL)
+ if (t == NULL || len == NULL || sc == NULL)
return 0;
*t = sc->client_cert_type;
{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
- if (t == NULL || len == NULL)
+ if (t == NULL || len == NULL || sc == NULL)
return 0;
*t = sc->server_cert_type;