diff options
Diffstat (limited to 'crypto/evp/digest.c')
-rw-r--r-- | crypto/evp/digest.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 494e0f5..2e517d2 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -883,10 +883,11 @@ static int evp_md_cache_constants(EVP_MD *md) return ok; } -static void *evp_md_from_dispatch(int name_id, - const OSSL_DISPATCH *fns, - OSSL_PROVIDER *prov) +static void *evp_md_from_algorithm(int name_id, + const OSSL_ALGORITHM *algodef, + OSSL_PROVIDER *prov) { + const OSSL_DISPATCH *fns = algodef->implementation; EVP_MD *md = NULL; int fncnt = 0; @@ -907,6 +908,7 @@ static void *evp_md_from_dispatch(int name_id, #endif md->name_id = name_id; + md->description = algodef->algorithm_description; for (; fns->function_id != 0; fns++) { switch (fns->function_id) { @@ -1017,7 +1019,7 @@ EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, { EVP_MD *md = evp_generic_fetch(ctx, OSSL_OP_DIGEST, algorithm, properties, - evp_md_from_dispatch, evp_md_up_ref, evp_md_free); + evp_md_from_algorithm, evp_md_up_ref, evp_md_free); return md; } @@ -1051,5 +1053,5 @@ void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx, { evp_generic_do_all(libctx, OSSL_OP_DIGEST, (void (*)(void *, void *))fn, arg, - evp_md_from_dispatch, evp_md_free); + evp_md_from_algorithm, evp_md_free); } |