summaryrefslogtreecommitdiffstats
path: root/crypto/x509
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-10-23 12:05:54 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-10-23 12:05:54 +0000
commit0c2c2e71a6ac5be7884996938aa31e1f9fe76e55 (patch)
tree3f85bef67382d615d406499a387cdd5e4284e062 /crypto/x509
parentd1d746afb4f628fb202f72b04c4fe376e86d7123 (diff)
If not checking all certificates don't attempt to find a CRL
for the leaf certificate of a CRL path.
Diffstat (limited to 'crypto/x509')
-rw-r--r--crypto/x509/x509_vfy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index d1a15502a2..f5f632a45d 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -679,7 +679,12 @@ static int check_revocation(X509_STORE_CTX *ctx)
if (ctx->param->flags & X509_V_FLAG_CRL_CHECK_ALL)
last = sk_X509_num(ctx->chain) - 1;
else
+ {
+ /* If checking CRL paths this isn't the EE certificate */
+ if (ctx->parent)
+ return 1;
last = 0;
+ }
for(i = 0; i <= last; i++)
{
ctx->error_depth = i;