diff options
author | Nikos Mavrogiannopoulos <nmav@crystal.(none)> | 2008-09-14 17:39:27 +0300 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@crystal.(none)> | 2008-09-14 17:39:27 +0300 |
commit | 5affc4b878371cf802b2529d0caf5668346dd4bc (patch) | |
tree | 1263eedff87eef76f5d1d6f937f89ec0648097eb | |
parent | 447e73a73c95ffc569477252779dcea6fd578396 (diff) | |
download | gnutls-5affc4b878371cf802b2529d0caf5668346dd4bc.tar.gz |
added some pedantic error checking.
-rw-r--r-- | lib/auth_cert.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/auth_cert.c b/lib/auth_cert.c index 621dd22854..6c2da78a17 100644 --- a/lib/auth_cert.c +++ b/lib/auth_cert.c @@ -409,7 +409,7 @@ call_get_cert_callback (gnutls_session_t session, gnutls_cert *local_certs = NULL; gnutls_privkey *local_key = NULL; gnutls_retr_st st; - int ret; + int ret = GNUTLS_E_INTERNAL_ERROR; gnutls_certificate_type_t type = gnutls_certificate_type_get (session); gnutls_certificate_credentials_t cred; @@ -425,10 +425,20 @@ call_get_cert_callback (gnutls_session_t session, if (session->security_parameters.entity == GNUTLS_SERVER) { + if (cred->server_get_cert_callback == NULL) + { + gnutls_assert(); + return GNUTLS_E_INTERNAL_ERROR; + } ret = cred->server_get_cert_callback (session, &st); } else { /* CLIENT */ + if (cred->client_get_cert_callback == NULL) + { + gnutls_assert(); + return GNUTLS_E_INTERNAL_ERROR; + } ret = cred->client_get_cert_callback (session, issuers_dn, issuers_dn_length, |