X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fevp_test.c;h=44375bfa6a31f766688b69d6b61b371b40dfd952;hp=97269931632b045be95921faec9bda7ed6a99ddc;hb=578ce42d354b1b0411e9069883c23c7770a567be;hpb=7406e3239663850d25005b3aee912a3cf8aa330e diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index 9726993163..44375bfa6a 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -290,6 +290,7 @@ static int setup_test(struct evp_test *t, const struct evp_test_method *tmeth) if (t->meth) { t->ntests++; if (t->skip) { + t->meth = tmeth; t->nskip++; return 1; } @@ -543,8 +544,14 @@ static int digest_test_init(struct evp_test *t, const char *alg) const EVP_MD *digest; struct digest_data *mdat = t->data; digest = EVP_get_digestbyname(alg); - if (!digest) + if (!digest) { + /* If alg has an OID assume disabled algorithm */ + if (OBJ_sn2nid(alg) != NID_undef || OBJ_ln2nid(alg) != NID_undef) { + t->skip = 1; + return 1; + } return 0; + } mdat = OPENSSL_malloc(sizeof(struct digest_data)); mdat->digest = digest; mdat->input = NULL;