aboutsummaryrefslogtreecommitdiff
path: root/crypto/evp
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-02-26 19:58:20 +0000
committerDr. Stephen Henson <steve@openssl.org>2015-02-27 00:18:10 +0000
commit578ce42d354b1b0411e9069883c23c7770a567be (patch)
treea88226a3558e477bb8815d56afb7d90c6ca8cf73 /crypto/evp
parent7406e3239663850d25005b3aee912a3cf8aa330e (diff)
downloadopenssl-578ce42d354b1b0411e9069883c23c7770a567be.zip
openssl-578ce42d354b1b0411e9069883c23c7770a567be.tar.gz
openssl-578ce42d354b1b0411e9069883c23c7770a567be.tar.bz2
Skip unsupported digests in evp_test
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'crypto/evp')
-rw-r--r--crypto/evp/evp_test.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c
index 9726993..44375bf 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;