summaryrefslogtreecommitdiffstats
path: root/crypto/x509/x_crl.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-08-05 16:50:41 +0200
committerAndy Polyakov <appro@openssl.org>2018-08-07 08:56:54 +0200
commit5b37fef04a2b765835361f0652aaa0c41ed1b842 (patch)
tree47677e73f897a8b5921437c53c93070e61dec321 /crypto/x509/x_crl.c
parent28ad73181aeb3b0b027d53d3266159f4b2e15d5b (diff)
Harmonize use of sk_TYPE_find's return value.
In some cases it's about redundant check for return value, in some cases it's about replacing check for -1 with comparison to 0. Otherwise compiler might generate redundant check for <-1. [Even formatting and readability fixes.] Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6860)
Diffstat (limited to 'crypto/x509/x_crl.c')
-rw-r--r--crypto/x509/x_crl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/crypto/x509/x_crl.c b/crypto/x509/x_crl.c
index c0099e0fec..10733b58bc 100644
--- a/crypto/x509/x_crl.c
+++ b/crypto/x509/x_crl.c
@@ -383,8 +383,11 @@ static int def_crl_lookup(X509_CRL *crl,
X509_NAME *issuer)
{
X509_REVOKED rtmp, *rev;
- int idx;
- rtmp.serialNumber = *serial;
+ int idx, num;
+
+ if (crl->crl.revoked == NULL)
+ return 0;
+
/*
* Sort revoked into serial number order if not already sorted. Do this
* under a lock to avoid race condition.
@@ -394,11 +397,12 @@ static int def_crl_lookup(X509_CRL *crl,
sk_X509_REVOKED_sort(crl->crl.revoked);
CRYPTO_THREAD_unlock(crl->lock);
}
+ rtmp.serialNumber = *serial;
idx = sk_X509_REVOKED_find(crl->crl.revoked, &rtmp);
if (idx < 0)
return 0;
/* Need to look for matching name */
- for (; idx < sk_X509_REVOKED_num(crl->crl.revoked); idx++) {
+ for (num = sk_X509_REVOKED_num(crl->crl.revoked); idx < num; idx++) {
rev = sk_X509_REVOKED_value(crl->crl.revoked, idx);
if (ASN1_INTEGER_cmp(&rev->serialNumber, serial))
return 0;