QUIC: Fix SSL_ctrl operation for QSSOs
authorHugo Landau <hlandau@openssl.org>
Wed, 14 Feb 2024 08:04:12 +0000 (08:04 +0000)
committerTomas Mraz <tomas@openssl.org>
Fri, 16 Feb 2024 15:15:38 +0000 (16:15 +0100)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23581)

ssl/ssl_lib.c

index f44a1bfe33650a398f7572ca9d625e94d3c2d3aa..f35bcfc631e72db558215eb13a0ac6df86bd25e3 100644 (file)
@@ -2906,9 +2906,6 @@ 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)
-        return 0;
-
     /*
      * Routing of ctrl calls for QUIC is a little counterintuitive:
      *
@@ -2927,6 +2924,9 @@ 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);
 
+    if (sc == NULL)
+        return 0;
+
     switch (cmd) {
     case SSL_CTRL_GET_READ_AHEAD:
         return RECORD_LAYER_get_read_ahead(&sc->rlayer);