diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c index d19efeaa9919b99ef8dea705bd21a5fd6c135d71..3da011bdb56f47587ee075ea46f59d5e5ecf2bd6 100644 --- a/crypto/x509/x509_vfy.c +++ b/crypto/x509/x509_vfy.c @@ -1541,6 +1541,8 @@ static int check_crl(X509_STORE_CTX *ctx, X509_CRL *crl) issuer = sk_X509_value(ctx->chain, cnum + 1); } else { issuer = sk_X509_value(ctx->chain, chnum); + if (!ossl_assert(issuer != NULL)) + return 0; /* If not self-issued, can't check signature */ if (!ctx->check_issued(ctx, issuer, issuer) && !verify_cb_crl(ctx, X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER))