diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2018-08-09 16:13:50 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-08-13 21:50:32 +0200 |
commit | c1fb3da244730e934cc29d572d84e436d4746378 (patch) | |
tree | dc4bde389e540ddb768cad5e480dbfdbf1c1a7c9 | |
parent | 4a011043e2fd26e5d34763a706b5165fb55e1c13 (diff) | |
download | gnutls-c1fb3da244730e934cc29d572d84e436d4746378.tar.gz |
gnutls_session_set_premaster: corrected error checks
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | lib/session_pack.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/session_pack.c b/lib/session_pack.c index a8659b5a2d..9fbd5b3ae8 100644 --- a/lib/session_pack.c +++ b/lib/session_pack.c @@ -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); |