summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2018-08-09 16:13:50 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2018-08-13 21:50:32 +0200
commitc1fb3da244730e934cc29d572d84e436d4746378 (patch)
treedc4bde389e540ddb768cad5e480dbfdbf1c1a7c9
parent4a011043e2fd26e5d34763a706b5165fb55e1c13 (diff)
downloadgnutls-c1fb3da244730e934cc29d572d84e436d4746378.tar.gz
gnutls_session_set_premaster: corrected error checks
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--lib/session_pack.c9
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);