]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
gnutls_session_set_premaster: corrected error checks
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Thu, 9 Aug 2018 14:13:50 +0000 (16:13 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 13 Aug 2018 19:50:32 +0000 (21:50 +0200)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
lib/session_pack.c

index a8659b5a2d11e30958057a28508243798028bee3..9fbd5b3ae85d60ae7d2cb4b5dd2d72896a9fcfb9 100644 (file)
@@ -1126,13 +1126,16 @@ gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
                return gnutls_assert_val(ret);
 
        session->internals.resumed_security_parameters.cs = ciphersuite_to_entry(cs);
-       if (cs == NULL)
+       if (session->internals.resumed_security_parameters.cs == NULL)
                return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
 
        session->internals.resumed_security_parameters.cert_type =
            DEFAULT_CERT_TYPE;
        session->internals.resumed_security_parameters.pversion =
            version_to_entry(version);
+       if (session->internals.resumed_security_parameters.pversion ==
+           NULL)
+               return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
 
        if (session->internals.resumed_security_parameters.pversion->selectable_prf)
                session->internals.resumed_security_parameters.prf = mac_to_entry(session->internals.resumed_security_parameters.cs->prf);
@@ -1141,10 +1144,6 @@ gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
        if (session->internals.resumed_security_parameters.prf == NULL)
                return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
 
-       if (session->internals.resumed_security_parameters.pversion ==
-           NULL)
-               return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
-
        if (master->size != GNUTLS_MASTER_SIZE)
                return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);