diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c index 3d0abda615..776478508e 100644 --- a/src/lib/libcrypto/x509/x509_vfy.c +++ b/src/lib/libcrypto/x509/x509_vfy.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_vfy.c,v 1.148 2025/05/10 05:54:39 tb Exp $ */ | 1 | /* $OpenBSD: x509_vfy.c,v 1.149 2026/04/07 12:48:37 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -1148,11 +1148,15 @@ crl_extension_match(X509_CRL *a, X509_CRL *b, int nid) | |||
| 1148 | static int | 1148 | static int |
| 1149 | check_delta_base(X509_CRL *delta, X509_CRL *base) | 1149 | check_delta_base(X509_CRL *delta, X509_CRL *base) |
| 1150 | { | 1150 | { |
| 1151 | /* Delta CRL must be a delta */ | 1151 | /* |
| 1152 | if (!delta->base_crl_number) | 1152 | * Delta CRL must be a delta and have a CRL number. |
| 1153 | * XXX - This means EXFLAG_INVALID was set by crl_cb(), | ||
| 1154 | * which we should check somewhere and bail out. | ||
| 1155 | */ | ||
| 1156 | if (delta->base_crl_number == NULL || delta->crl_number == NULL) | ||
| 1153 | return 0; | 1157 | return 0; |
| 1154 | /* Base must have a CRL number */ | 1158 | /* Base must have a CRL number */ |
| 1155 | if (!base->crl_number) | 1159 | if (base->crl_number == NULL) |
| 1156 | return 0; | 1160 | return 0; |
| 1157 | /* Issuer names must match */ | 1161 | /* Issuer names must match */ |
| 1158 | if (X509_NAME_cmp(X509_CRL_get_issuer(base), | 1162 | if (X509_NAME_cmp(X509_CRL_get_issuer(base), |
