From 63e4596ee4652cfc931e740df869f4e20e3f3201 Mon Sep 17 00:00:00 2001 From: zxz*3 Date: Sat, 14 Sep 2024 10:53:29 +0800 Subject: [PATCH] fix tdd memory leak Signed-off-by: zxz*3 --- .../unittest/src/crypto_ed25519_sign_test.cpp | 2 ++ .../src/crypto_ed25519_verify_test.cpp | 2 ++ test/unittest/src/crypto_key_utils_test.cpp | 6 +++++ test/unittest/src/crypto_md_sm3_test.cpp | 1 + .../src/crypto_rsa_asy_key_pem_test.cpp | 24 +++++++++++++++++++ 5 files changed, 35 insertions(+) diff --git a/test/unittest/src/crypto_ed25519_sign_test.cpp b/test/unittest/src/crypto_ed25519_sign_test.cpp index 91dcd50..cf7acb1 100644 --- a/test/unittest/src/crypto_ed25519_sign_test.cpp +++ b/test/unittest/src/crypto_ed25519_sign_test.cpp @@ -88,6 +88,7 @@ void CryptoEd25519SignTest::SetUpTestCase() ASSERT_EQ(ret, HCF_SUCCESS); ASSERT_NE(keyPair, nullptr); ed25519KeyPair_ = keyPair; + HcfObjDestroy(generator); ret = HcfAsyKeyGeneratorCreate(g_x25519AlgoName.c_str(), &generator); ASSERT_EQ(ret, HCF_SUCCESS); @@ -603,6 +604,7 @@ HWTEST_F(CryptoEd25519SignTest, CryptoEd25519SignTest023, TestSize.Level0) HcfBlob out = { .data = nullptr, .len = 0 }; ret = sign->sign(sign, &g_mockInput, &out); ASSERT_EQ(ret, HCF_SUCCESS); + HcfFree(out.data); ret = sign->sign(sign, &g_mockInput, &out); ASSERT_EQ(ret, HCF_SUCCESS); ASSERT_NE(out.data, nullptr); diff --git a/test/unittest/src/crypto_ed25519_verify_test.cpp b/test/unittest/src/crypto_ed25519_verify_test.cpp index a7ed6e1..88991f2 100644 --- a/test/unittest/src/crypto_ed25519_verify_test.cpp +++ b/test/unittest/src/crypto_ed25519_verify_test.cpp @@ -85,6 +85,7 @@ void CryptoEd25519VerifyTest::SetUpTestCase() ret = generator->generateKeyPair(generator, nullptr, &keyPair); ASSERT_EQ(ret, HCF_SUCCESS); ASSERT_NE(keyPair, nullptr); + HcfObjDestroy(generator); ed25519KeyPair_ = keyPair; @@ -291,6 +292,7 @@ HWTEST_F(CryptoEd25519VerifyTest, CryptoEd25519VerifyTest008, TestSize.Level0) uint32_t mallocCount = GetOpensslCallNum(); OpensslMockTestFunc(mallocCount, &out); + HcfBlobDataFree(&out); EndRecordOpensslCallNum(); } diff --git a/test/unittest/src/crypto_key_utils_test.cpp b/test/unittest/src/crypto_key_utils_test.cpp index 325418f..6b8ac4d 100644 --- a/test/unittest/src/crypto_key_utils_test.cpp +++ b/test/unittest/src/crypto_key_utils_test.cpp @@ -93,6 +93,8 @@ HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest02, TestSize.Level0) ret = CopyPoint(&(srcSpec->g), nullptr); EXPECT_EQ(ret, HCF_INVALID_PARAMS); + HcfFree(srcSpec->field); + HcfFree(srcSpec); } HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest03, TestSize.Level0) @@ -103,6 +105,8 @@ HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest03, TestSize.Level0) ret = CopyEccCommonSpec(srcSpec, nullptr); EXPECT_EQ(ret, HCF_INVALID_PARAMS); + HcfFree(srcSpec->field); + HcfFree(srcSpec); } HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest04, TestSize.Level0) @@ -113,6 +117,8 @@ HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest04, TestSize.Level0) ret = CreateEccCommonSpecImpl(srcSpec, nullptr); EXPECT_EQ(ret, HCF_INVALID_PARAMS); + HcfFree(srcSpec->field); + HcfFree(srcSpec); } HWTEST_F(CryptoKeyUtilsTest, CryptoKeyUtilsTest05, TestSize.Level0) diff --git a/test/unittest/src/crypto_md_sm3_test.cpp b/test/unittest/src/crypto_md_sm3_test.cpp index da2f4d8..791ee35 100644 --- a/test/unittest/src/crypto_md_sm3_test.cpp +++ b/test/unittest/src/crypto_md_sm3_test.cpp @@ -186,6 +186,7 @@ HWTEST_F(CryptoMdSM3Test, CryptoFrameworkMdSM3AlgoTest003, TestSize.Level0) HcfMdSpi *spiObj = nullptr; HcfResult ret = OpensslMdSpiCreate("SM3", &spiObj); EXPECT_EQ(ret, HCF_SUCCESS); + HcfObjDestroy(spiObj); } HWTEST_F(CryptoMdSM3Test, CryptoFrameworkMdSM3AlgoTest004, TestSize.Level0) diff --git a/test/unittest/src/crypto_rsa_asy_key_pem_test.cpp b/test/unittest/src/crypto_rsa_asy_key_pem_test.cpp index bf1fb2c..f734835 100644 --- a/test/unittest/src/crypto_rsa_asy_key_pem_test.cpp +++ b/test/unittest/src/crypto_rsa_asy_key_pem_test.cpp @@ -753,6 +753,7 @@ static void RsaAsyKeyPemTest1(const char *algoName, const char *priKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -780,6 +781,7 @@ static void RsaAsyKeyPemTest2(const char *algoName, const char *priKeyPkcs8Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -808,6 +810,7 @@ static void RsaAsyKeyPemTest3(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -836,6 +839,7 @@ static void RsaAsyKeyPemTest4(const char *algoName, const char *pubKeyX509Str, c EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -865,11 +869,13 @@ static void RsaAsyKeyPemTest5(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, pubKeyX509Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = dupKeyPair->priKey; retStr = nullptr; @@ -877,6 +883,7 @@ static void RsaAsyKeyPemTest5(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -906,11 +913,13 @@ static void RsaAsyKeyPemTest6(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, pubKeyX509Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = dupKeyPair->priKey; retStr = nullptr; @@ -918,6 +927,7 @@ static void RsaAsyKeyPemTest6(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -947,11 +957,13 @@ static void RsaAsyKeyPemTest7(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, pubKeyX509Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = dupKeyPair->priKey; retStr = nullptr; @@ -959,6 +971,7 @@ static void RsaAsyKeyPemTest7(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -988,11 +1001,13 @@ static void RsaAsyKeyPemTest8(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, pubKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, pubKeyX509Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = dupKeyPair->priKey; retStr = nullptr; @@ -1000,6 +1015,7 @@ static void RsaAsyKeyPemTest8(const char *algoName, const char *pubKeyPkcs1Str, EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, priKeyPkcs1Str); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); EXPECT_EQ(res, HCF_SUCCESS); @@ -1222,6 +1238,7 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemErrorTest003, TestSize.Level0 res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS1", nullptr); EXPECT_NE(res, HCF_SUCCESS); + HcfObjDestroy(dupKeyPair); HcfObjDestroy(generator); } @@ -1271,6 +1288,7 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemErrorTest004, TestSize.Level0 res = prikey->base.getEncodedPem((HcfKey *)prikey, "pkcs8", &retStr); EXPECT_NE(res, HCF_SUCCESS); + HcfObjDestroy(dupKeyPair); HcfObjDestroy(generator); } @@ -1523,12 +1541,14 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemSpiTest001, TestSize.Level0) EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, g_testPubkeyPkcs1Str2048.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); retStr = nullptr; res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, g_testPubkeyX509Str2048.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = keyPair->priKey; retStr = nullptr; @@ -1536,6 +1556,7 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemSpiTest001, TestSize.Level0) EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, g_testPrikeyPkcs1Str2048.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); retStr = nullptr; res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); @@ -1574,12 +1595,14 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemSpiTest002, TestSize.Level0) EXPECT_EQ(res, HCF_SUCCESS); int32_t cmpRes = strcmp(retStr, g_testPubkeyPkcs1Str1024.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); retStr = nullptr; res = pubkey->base.getEncodedPem((HcfKey *)pubkey, "X509", &retStr); EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, g_testPubkeyX509Str1024.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); HcfPriKey *prikey = keyPair->priKey; retStr = nullptr; @@ -1587,6 +1610,7 @@ HWTEST_F(CryptoRsaAsyKeyPemTest, CryptoRsaAsyKeyPemSpiTest002, TestSize.Level0) EXPECT_EQ(res, HCF_SUCCESS); cmpRes = strcmp(retStr, g_testPrikeyPkcs1Str1024.c_str()); EXPECT_EQ(cmpRes, HCF_SUCCESS); + HcfFree(retStr); retStr = nullptr; res = prikey->base.getEncodedPem((HcfKey *)prikey, "PKCS8", &retStr); -- Gitee