projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Skip unsupported digests in evp_test
[openssl.git]
/
crypto
/
evp
/
evp_test.c
diff --git
a/crypto/evp/evp_test.c
b/crypto/evp/evp_test.c
index 97269931632b045be95921faec9bda7ed6a99ddc..44375bfa6a31f766688b69d6b61b371b40dfd952 100644
(file)
--- 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) {
if (t->meth) {
t->ntests++;
if (t->skip) {
+ t->meth = tmeth;
t->nskip++;
return 1;
}
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);
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;
return 0;
+ }
mdat = OPENSSL_malloc(sizeof(struct digest_data));
mdat->digest = digest;
mdat->input = NULL;
mdat = OPENSSL_malloc(sizeof(struct digest_data));
mdat->digest = digest;
mdat->input = NULL;