From d5efc853796be00510f9278ef077fe8b733d62b7 Mon Sep 17 00:00:00 2001 From: Pauli Date: Thu, 28 Aug 2025 14:48:51 +1000 Subject: [PATCH] kmac: avoid using ossl_prov_digest_load_from_params() Reviewed-by: Tomas Mraz Reviewed-by: Tim Hudson Reviewed-by: Dmitry Belyavskiy (Merged from https://github.com/openssl/openssl/pull/28361) --- providers/implementations/macs/kmac_prov.c.in | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/providers/implementations/macs/kmac_prov.c.in b/providers/implementations/macs/kmac_prov.c.in index 14d9d53b6d4..a1cf8ea2bb8 100644 --- a/providers/implementations/macs/kmac_prov.c.in +++ b/providers/implementations/macs/kmac_prov.c.in @@ -189,15 +189,24 @@ static struct kmac_data_st *kmac_new(void *provctx) return kctx; } +#define kmac_new_list + +{- produce_param_decoder('kmac_new', + (['MAC_PARAM_DIGEST', 'digest', 'utf8_string'], + ['MAC_PARAM_PROPERTIES', 'propq', 'utf8_string'], + ['ALG_PARAM_ENGINE', 'engine', 'utf8_string', 'hidden'], + )); -} + static void *kmac_fetch_new(void *provctx, const OSSL_PARAM *params) { struct kmac_data_st *kctx = kmac_new(provctx); + struct kmac_new_st p; int md_size; - if (kctx == NULL) + if (kctx == NULL || !kmac_new_decoder(params, &p)) return 0; - if (!ossl_prov_digest_load_from_params(&kctx->digest, params, - PROV_LIBCTX_OF(provctx))) { + if (!ossl_prov_digest_load(&kctx->digest, p.digest, p.propq, p.engine, + PROV_LIBCTX_OF(provctx))) { kmac_free(kctx); return 0; } -- 2.47.3