diff --git a/wolfcrypt/src/hmac.c b/wolfcrypt/src/hmac.c index d795e3af5..47ed04285 100644 --- a/wolfcrypt/src/hmac.c +++ b/wolfcrypt/src/hmac.c @@ -1083,6 +1083,10 @@ void wc_HmacFree(Hmac* hmac) } #endif +#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_HMAC) + wolfAsync_DevCtxFree(&hmac->asyncDev, WOLFSSL_ASYNC_MARKER_HMAC); +#endif /* WOLFSSL_ASYNC_CRYPT */ + switch (hmac->macType) { #ifndef NO_MD5 case WC_MD5: @@ -1144,48 +1148,6 @@ void wc_HmacFree(Hmac* hmac) default: break; } - -#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_HMAC) - wolfAsync_DevCtxFree(&hmac->asyncDev, WOLFSSL_ASYNC_MARKER_HMAC); -#endif /* WOLFSSL_ASYNC_CRYPT */ - - switch (hmac->macType) { - #ifndef NO_MD5 - case WC_MD5: - wc_Md5Free(&hmac->hash.md5); - break; - #endif /* !NO_MD5 */ - - #ifndef NO_SHA - case WC_SHA: - wc_ShaFree(&hmac->hash.sha); - break; - #endif /* !NO_SHA */ - - #ifdef WOLFSSL_SHA224 - case WC_SHA224: - wc_Sha224Free(&hmac->hash.sha224); - break; - #endif /* WOLFSSL_SHA224 */ - #ifndef NO_SHA256 - case WC_SHA256: - wc_Sha256Free(&hmac->hash.sha256); - break; - #endif /* !NO_SHA256 */ - - #ifdef WOLFSSL_SHA512 - #ifdef WOLFSSL_SHA384 - case WC_SHA384: - wc_Sha384Free(&hmac->hash.sha384); - break; - #endif /* WOLFSSL_SHA384 */ - case WC_SHA512: - wc_Sha512Free(&hmac->hash.sha512); - break; - #endif /* WOLFSSL_SHA512 */ - default: - break; - } } #endif /* WOLFSSL_KCAPI_HMAC */