From: Pauli Date: Thu, 28 Aug 2025 04:48:51 +0000 (+1000) Subject: kmac: avoid using ossl_prov_digest_load_from_params() X-Git-Tag: 4.0-PRE-CLANG-FORMAT-WEBKIT~583 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5efc853796be00510f9278ef077fe8b733d62b7;p=thirdparty%2Fopenssl.git 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) --- 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; }