From c1fb3da244730e934cc29d572d84e436d4746378 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Thu, 9 Aug 2018 16:13:50 +0200 Subject: gnutls_session_set_premaster: corrected error checks Signed-off-by: Nikos Mavrogiannopoulos --- lib/session_pack.c | 9 ++++----- 1 file 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); -- cgit v1.2.1