Fix two not freed WOLFSSL_CMAC_CTX.

This commit is contained in:
Satoshi Yamaguchi
2022-09-20 23:10:22 +09:00
parent 64f2a0cafe
commit c6ea68a118

View File

@ -3420,6 +3420,7 @@ WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_CMAC_key(WOLFSSL_ENGINE* e,
ret = wolfSSL_CMAC_Init(ctx, priv, len, cipher, e); ret = wolfSSL_CMAC_Init(ctx, priv, len, cipher, e);
if (ret == WOLFSSL_FAILURE) { if (ret == WOLFSSL_FAILURE) {
wolfSSL_CMAC_CTX_free(ctx);
WOLFSSL_LEAVE("wolfSSL_EVP_PKEY_new_CMAC_key", 0); WOLFSSL_LEAVE("wolfSSL_EVP_PKEY_new_CMAC_key", 0);
return NULL; return NULL;
} }
@ -3441,6 +3442,9 @@ WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_CMAC_key(WOLFSSL_ENGINE* e,
pkey->cmacCtx = ctx; pkey->cmacCtx = ctx;
} }
} }
else {
wolfSSL_CMAC_CTX_free(ctx);
}
WOLFSSL_LEAVE("wolfSSL_EVP_PKEY_new_CMAC_key", 0); WOLFSSL_LEAVE("wolfSSL_EVP_PKEY_new_CMAC_key", 0);
return pkey; return pkey;