diff options
Diffstat (limited to 'lib/session_pack.c')
-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); |