]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
added some pedantic error checking.
authorNikos Mavrogiannopoulos <nmav@crystal.(none)>
Sun, 14 Sep 2008 14:39:27 +0000 (17:39 +0300)
committerNikos Mavrogiannopoulos <nmav@crystal.(none)>
Sun, 14 Sep 2008 14:39:27 +0000 (17:39 +0300)
lib/auth_cert.c

index 621dd228545bba02dbbfaa7051edf860af76c321..6c2da78a17443e34e6ffd3ff1259bc37df6e59c4 100644 (file)
@@ -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,