Extend wolfSSL_EVP_PKEY_free for freing EVP_PKEY of CMAC.

Fix EVP_PKEY not freed in unit test (test_wolfSSL_EVP_PKEY_new_CMAC_key).
This commit is contained in:
Satoshi Yamaguchi 2022-09-17 14:38:38 +09:00
parent 69ed2b56d4
commit 64f2a0cafe
2 changed files with 11 additions and 0 deletions

View File

@ -32956,6 +32956,7 @@ static int test_wolfSSL_EVP_PKEY_new_CMAC_key(void)
AssertNotNull(key = wolfSSL_EVP_PKEY_new_CMAC_key(
NULL, (const unsigned char *)priv, AES_128_KEY_SIZE, cipher));
wolfSSL_EVP_PKEY_free(key);
printf(resultFmt, passed);
#endif /* defined(WOLFSSL_CMAC) && !defined(NO_AES) && defined(WOLFSSL_AES_DIRECT) */

View File

@ -8868,6 +8868,16 @@ void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY* key)
break;
#endif /* HAVE_HKDF */
#if defined(WOLFSSL_CMAC) && !defined(NO_AES) && \
defined(WOLFSSL_AES_DIRECT)
case EVP_PKEY_CMAC:
if (key->cmacCtx != NULL) {
wolfSSL_CMAC_CTX_free(key->cmacCtx);
key->cmacCtx = NULL;
}
break;
#endif /* defined(WOLFSSL_CMAC) ... */
default:
break;
}