From 5368900ae43202d5cf301ac6c11f472a343c92a0 Mon Sep 17 00:00:00 2001 From: jing-wang177 Date: Fri, 22 Aug 2025 10:46:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=82=E5=B8=B8=E5=88=86?= =?UTF-8?q?=E6=94=AF=E5=86=85=E5=AD=98=E6=B3=84=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: jing-wang177 --- .../napi/crypto/src/napi_asy_key_generator.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/frameworks/js/napi/crypto/src/napi_asy_key_generator.cpp b/frameworks/js/napi/crypto/src/napi_asy_key_generator.cpp index 54ebba2..425e151 100644 --- a/frameworks/js/napi/crypto/src/napi_asy_key_generator.cpp +++ b/frameworks/js/napi/crypto/src/napi_asy_key_generator.cpp @@ -185,6 +185,14 @@ static void FreeConvertPemKeyCtx(napi_env env, ConvertPemKeyCtx *ctx) HcfFree(ctx); } +static void HcfFreePubKeyAndPriKey(HcfBlob *pubKey, HcfBlob *priKey) +{ + HcfBlobDataFree(pubKey); + HCF_FREE_PTR(pubKey); + HcfBlobDataClearAndFree(priKey); + HCF_FREE_PTR(priKey); +} + static bool BuildGenKeyPairCtx(napi_env env, napi_callback_info info, GenKeyPairCtx *ctx) { napi_value thisVar = nullptr; @@ -357,6 +365,7 @@ static bool ValidateAndGetParams(napi_env env, napi_callback_info info, HcfBlob if (argc == expectedArgc) { if (!GetDecodingParamsSpec(env, argv[PARAM2], paramsSpec)) { + HcfFreePubKeyAndPriKey(*pubKey, *priKey); LOGE("get params failed!"); napi_throw(env, GenerateBusinessError(env, HCF_INVALID_PARAMS, "get napi paramsSpec failed!")); return false; @@ -807,14 +816,6 @@ napi_value NapiAsyKeyGenerator::JsConvertKey(napi_env env, napi_callback_info in return NewConvertKeyAsyncWork(env, ctx); } -static void HcfFreePubKeyAndPriKey(HcfBlob *pubKey, HcfBlob *priKey) -{ - HcfBlobDataFree(pubKey); - HCF_FREE_PTR(pubKey); - HcfBlobDataClearAndFree(priKey); - HCF_FREE_PTR(priKey); -} - napi_value NapiAsyKeyGenerator::JsConvertKeySync(napi_env env, napi_callback_info info) { napi_value thisVar = nullptr; -- Gitee