diff options
Diffstat (limited to 'ssl/ssl_lib.c')
-rw-r--r-- | ssl/ssl_lib.c | 8 |
1 files changed, 6 insertions, 2 deletions
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); |