issuer_cert may be retrieved, but not exist
authorAlan T. DeKok <aland@freeradius.org>
Thu, 1 Sep 2016 19:33:45 +0000 (15:33 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 1 Sep 2016 19:33:45 +0000 (15:33 -0400)
src/main/tls.c

index 21c276e..4f36a06 100644 (file)
@@ -2195,7 +2195,8 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
 #ifdef HAVE_OPENSSL_OCSP_H
                if (my_ok && conf->ocsp_enable){
                        RDEBUG2("Starting OCSP Request");
-                       if (X509_STORE_CTX_get1_issuer(&issuer_cert, ctx, client_cert) != 1) {
+                       if ((X509_STORE_CTX_get1_issuer(&issuer_cert, ctx, client_cert) != 1) ||
+                           !issuer_cert) {
                                RERROR("Couldn't get issuer_cert for %s", common_name);
                        } else {
                                my_ok = ocsp_check(request, ocsp_store, issuer_cert, client_cert, conf);