summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-08-18 11:22:11 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-08-18 11:56:30 +0200
commitaa86ea26580aafacfe2a338078587a47d15d01ad (patch)
tree00d837830106c5d278287932cb2c53b85216b5d0
parentfbdd3fb8a3eae977fb2a25fa59306cbdcd64d858 (diff)
downloadgnutls-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.c17
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);