From 53d80c0b7fdac4d2d9a98c0079235fdd5785ad87 Mon Sep 17 00:00:00 2001 From: John Bland Date: Tue, 17 Oct 2023 01:33:06 -0400 Subject: [PATCH] correctly set invalid devId for when cryptoCb is on but the user has opted to use software, or cmac is not available on for their device. currently a devId of 0 is set which causes CRYPTOCB_UNAVAILABLE --- wolfcrypt/src/cmac.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wolfcrypt/src/cmac.c b/wolfcrypt/src/cmac.c index e3b9f39ea..4d6552848 100644 --- a/wolfcrypt/src/cmac.c +++ b/wolfcrypt/src/cmac.c @@ -114,12 +114,13 @@ int wc_InitCmac_ex(Cmac* cmac, const byte* key, word32 keySz, #endif XMEMSET(cmac, 0, sizeof(Cmac)); + /* set invalid devId regardless of cryptoCb */ + cmac->devId = devId; #ifdef WOLF_CRYPTO_CB #ifndef WOLF_CRYPTO_CB_FIND if (devId != INVALID_DEVID) #endif { - cmac->devId = devId; cmac->devCtx = NULL; ret = wc_CryptoCb_Cmac(cmac, key, keySz, NULL, 0, NULL, NULL, @@ -128,6 +129,7 @@ int wc_InitCmac_ex(Cmac* cmac, const byte* key, word32 keySz, return ret; /* fall-through when unavailable */ } + #else (void)devId; #endif