diff --git a/plugin/openssl_plugin/crypto_operation/hmac/src/mac_openssl.c b/plugin/openssl_plugin/crypto_operation/hmac/src/mac_openssl.c index 9767baa61e59fc84c0bd9142f72634abb5bb5aeb..b2c67b5bc2126104f2de9e31bb050c44c48b0fea 100644 --- a/plugin/openssl_plugin/crypto_operation/hmac/src/mac_openssl.c +++ b/plugin/openssl_plugin/crypto_operation/hmac/src/mac_openssl.c @@ -335,13 +335,15 @@ HcfResult OpensslCmacSpiCreate(HcfMacParamsSpec *paramsSpec, HcfMacSpi **spiObj) } EVP_MAC *mac = EVP_MAC_fetch(NULL, "CMAC", NULL); if (mac == NULL) { - LOGD("fetch failed"); + LOGE("fetch failed"); + HcfFree(returnSpiImpl); return HCF_ERR_CRYPTO_OPERATION; } returnSpiImpl->ctx = EVP_MAC_CTX_new(mac); if (returnSpiImpl->ctx == NULL) { LOGD("[error] Failed to create ctx!"); HcfFree(returnSpiImpl); + OpensslMacFree(mac); return HCF_ERR_CRYPTO_OPERATION; } OpensslMacFree(mac);