From: atishkov Date: Tue, 24 Oct 2023 09:30:22 +0000 (+0300) Subject: ssl_lib: added pointer SSL and SSL_CONNECTION check to NULL before dereferencing... X-Git-Tag: openssl-3.3.0-alpha1~768 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=b9788ce6a869185f040df4c98d2e7143110aa517 ssl_lib: added pointer SSL and SSL_CONNECTION check to NULL before dereferencing it in ossl_ctrl_internal() Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale Reviewed-by: Hugo Landau (Merged from https://github.com/openssl/openssl/pull/22470) --- diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 5314e1ec0d..e010bb7e30 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -2906,9 +2906,8 @@ long SSL_ctrl(SSL *s, int cmd, long larg, void *parg) long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic) { long l; - SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); - if (sc == NULL) + if (s == NULL) return 0; /* @@ -2929,6 +2928,11 @@ long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic) if (!no_quic && IS_QUIC(s)) return s->method->ssl_ctrl(s, cmd, larg, parg); + SSL_CONNECTION* sc = SSL_CONNECTION_FROM_SSL(s); + + if (sc == NULL) + return 0; + switch (cmd) { case SSL_CTRL_GET_READ_AHEAD: return RECORD_LAYER_get_read_ahead(&sc->rlayer);