diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-08-18 11:22:11 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-08-18 11:56:30 +0200 |
commit | aa86ea26580aafacfe2a338078587a47d15d01ad (patch) | |
tree | 00d837830106c5d278287932cb2c53b85216b5d0 | |
parent | fbdd3fb8a3eae977fb2a25fa59306cbdcd64d858 (diff) | |
download | gnutls-aa86ea26580aafacfe2a338078587a47d15d01ad.tar.gz |
gnutls_auth_*: check cs parameter for validity prior to use
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | lib/auth.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/auth.c b/lib/auth.c index b1165b582a..a117680260 100644 --- a/lib/auth.c +++ b/lib/auth.c @@ -169,7 +169,7 @@ int gnutls_credentials_get(gnutls_session_t session, gnutls_credentials_type_t type, void **cred) { -const void *_cred; + const void *_cred; _cred = _gnutls_get_cred(session, type); if (_cred == NULL) @@ -204,6 +204,11 @@ gnutls_credentials_type_t gnutls_auth_get_type(gnutls_session_t session) int server = session->security_parameters.entity == GNUTLS_SERVER ? 0 : 1; + if (!session->security_parameters.cs) { + gnutls_assert(); + return 0; + } + return _gnutls_map_kx_get_cred(session->security_parameters. cs->kx_algorithm, server); @@ -223,6 +228,11 @@ gnutls_credentials_type_t gnutls_auth_get_type(gnutls_session_t session) gnutls_credentials_type_t gnutls_auth_server_get_type(gnutls_session_t session) { + if (!session->security_parameters.cs) { + gnutls_assert(); + return 0; + } + return _gnutls_map_kx_get_cred(session->security_parameters. cs->kx_algorithm, 1); @@ -242,6 +252,11 @@ gnutls_auth_server_get_type(gnutls_session_t session) gnutls_credentials_type_t gnutls_auth_client_get_type(gnutls_session_t session) { + if (!session->security_parameters.cs) { + gnutls_assert(); + return 0; + } + return _gnutls_map_kx_get_cred(session->security_parameters. cs->kx_algorithm, 0); |