From 38122c0224f67d709afa4c210acb83e167bb0df9 Mon Sep 17 00:00:00 2001 From: fuzikun Date: Wed, 21 Sep 2022 11:17:58 +0800 Subject: [PATCH 1/5] fix cppcheck problem Signed-off-by: fuzikun --- frameworks/crypto_operation/signature.c | 10 --------- frameworks/js/napi/inc/napi_utils.h | 1 - .../js/napi/src/napi_asy_key_generator.cpp | 2 +- frameworks/js/napi/src/napi_utils.cpp | 21 ------------------- 4 files changed, 1 insertion(+), 33 deletions(-) diff --git a/frameworks/crypto_operation/signature.c b/frameworks/crypto_operation/signature.c index 711a3a1..b6487f4 100644 --- a/frameworks/crypto_operation/signature.c +++ b/frameworks/crypto_operation/signature.c @@ -45,16 +45,6 @@ typedef struct { char algoName[HCF_MAX_ALGO_NAME_LEN]; } HcfVerifyImpl; -typedef struct { - const char *algoType; - - uint32_t digestAlg; - - int32_t keyLen; - - int32_t padding; -} HcfEcdsaParams; - typedef struct { HCF_ALG_VALUE algo; diff --git a/frameworks/js/napi/inc/napi_utils.h b/frameworks/js/napi/inc/napi_utils.h index 2790b7b..493b4c7 100644 --- a/frameworks/js/napi/inc/napi_utils.h +++ b/frameworks/js/napi/inc/napi_utils.h @@ -52,7 +52,6 @@ bool GetStringFromJSParams(napi_env env, napi_value arg, std::string &returnStr) bool GetInt32FromJSParams(napi_env env, napi_value arg, int32_t &returnInt); bool GetUint32FromJSParams(napi_env env, napi_value arg, uint32_t &returnInt); bool GetCallbackFromJSParams(napi_env env, napi_value arg, napi_ref *returnCb); -bool ParseArrayBuffer(napi_env env, napi_value args, uint8_t **data, size_t &size); bool GetEncodingBlobFromValue(napi_env env, napi_value object, HcfEncodingBlob **encodingBlob); bool GetCertChainFromValue(napi_env env, napi_value object, HcfCertChainData **certChainData); bool CheckArgsCount(napi_env env, size_t argc, size_t expectedCount, bool isSync); diff --git a/frameworks/js/napi/src/napi_asy_key_generator.cpp b/frameworks/js/napi/src/napi_asy_key_generator.cpp index 62b5e57..1604668 100644 --- a/frameworks/js/napi/src/napi_asy_key_generator.cpp +++ b/frameworks/js/napi/src/napi_asy_key_generator.cpp @@ -323,7 +323,7 @@ static void ConvertKeyAsyncWorkReturn(napi_env env, napi_status status, void *da napi_value instance = nullptr; if (ctx->result == HCF_SUCCESS) { NapiKeyPair *napiKeyPair = new NapiKeyPair(ctx->returnKeyPair); - napi_value instance = napiKeyPair->ConvertToJsKeyPair(env); + instance = napiKeyPair->ConvertToJsKeyPair(env); napi_wrap( env, instance, napiKeyPair, diff --git a/frameworks/js/napi/src/napi_utils.cpp b/frameworks/js/napi/src/napi_utils.cpp index aae9d2c..09eb0ad 100644 --- a/frameworks/js/napi/src/napi_utils.cpp +++ b/frameworks/js/napi/src/napi_utils.cpp @@ -649,27 +649,6 @@ bool GetCallbackFromJSParams(napi_env env, napi_value arg, napi_ref *returnCb) return true; } -bool ParseArrayBuffer(napi_env env, napi_value args, uint8_t **data, size_t &size) -{ - napi_status status; - napi_valuetype valuetype; - napi_typeof(env, args, &valuetype); - - if (valuetype != napi_object) { - LOGE("Wrong argument type(%d). object expected.", valuetype); - return false; - } - - status = napi_get_arraybuffer_info(env, args, (void**)data, &size); - if (status != napi_ok) { - LOGE("can not get arraybuffer, error is %d", status); - (*data)[0] = -1; - return false; - } - LOGI("arraybuffer size is %zu", size); - return true; -} - static uint32_t GetJsErrValueByErrCode(int32_t errCode) { switch (errCode) { -- Gitee From 8740888c49c60031bd5d7975930262801da14119 Mon Sep 17 00:00:00 2001 From: winnie-hu Date: Fri, 23 Sep 2022 16:49:10 +0800 Subject: [PATCH 2/5] fic crl code check Signed-off-by: winnie-hu --- .../openssl_plugin/certificate/src/x509_crl_openssl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/openssl_plugin/certificate/src/x509_crl_openssl.c b/plugin/openssl_plugin/certificate/src/x509_crl_openssl.c index ea4764d..9aa9ecd 100644 --- a/plugin/openssl_plugin/certificate/src/x509_crl_openssl.c +++ b/plugin/openssl_plugin/certificate/src/x509_crl_openssl.c @@ -549,20 +549,20 @@ static HcfResult GetSignature(HcfX509CrlSpi *self, HcfBlob *signature) LOGE("crl is null!"); return HCF_INVALID_PARAMS; } - const ASN1_BIT_STRING *Asn1Signature = NULL; - X509_CRL_get0_signature(((HcfX509CRLOpensslImpl *)self)->crl, &Asn1Signature, NULL); - if (Asn1Signature == NULL) { + const ASN1_BIT_STRING *asn1Signature = NULL; + X509_CRL_get0_signature(((HcfX509CRLOpensslImpl *)self)->crl, &asn1Signature, NULL); + if (asn1Signature == NULL) { LOGE("Get signature is null!"); HcfPrintOpensslError(); return HCF_ERR_CRYPTO_OPERATION; } - int32_t signatureLen = ASN1_STRING_length(Asn1Signature); + int32_t signatureLen = ASN1_STRING_length(asn1Signature); if (signatureLen <= 0) { LOGE("Get signature length is invalid!"); HcfPrintOpensslError(); return HCF_ERR_CRYPTO_OPERATION; } - const unsigned char *signatureStr = ASN1_STRING_get0_data(Asn1Signature); + const unsigned char *signatureStr = ASN1_STRING_get0_data(asn1Signature); if ((signatureStr == NULL) || (signatureLen > MAX_SIGNATURE_LEN)) { LOGE("ASN1 get string fail, or signature length is too long!"); HcfPrintOpensslError(); -- Gitee From 7b32663cfe5722c4b518440bfb94fbe9433c9cdc Mon Sep 17 00:00:00 2001 From: heyinshen Date: Sat, 24 Sep 2022 18:44:00 +0800 Subject: [PATCH 3/5] optimize error code and log Signed-off-by: heyinshen --- frameworks/BUILD.gn | 18 +++++++++++++++--- .../js/napi/src/napi_x509_certificate.cpp | 3 +++ frameworks/js/napi/src/napi_x509_crl.cpp | 3 +++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/frameworks/BUILD.gn b/frameworks/BUILD.gn index 293f7d4..46f76f9 100644 --- a/frameworks/BUILD.gn +++ b/frameworks/BUILD.gn @@ -30,12 +30,16 @@ ohos_shared_library("crypto_framework_lib") { subsystem_name = "security" part_name = "crypto_framework" public_configs = [ ":framework_config" ] - include_dirs = [ "//commonlibrary/c_utils/base/include" ] + include_dirs = [ + "//commonlibrary/c_utils/base/include", + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", + ] include_dirs += framework_inc_path + crypto_framwork_common_inc_path sources = framework_files cflags = [ + "-DHILOG_ENABLE", "-fPIC", "-Wall", ] @@ -46,7 +50,10 @@ ohos_shared_library("crypto_framework_lib") { "//third_party/openssl:libcrypto_shared", ] - external_deps = [ "c_utils:utils" ] + external_deps = [ + "c_utils:utils", + "hiviewdfx_hilog_native:libhilog", + ] } ohos_shared_library("cryptoframework_napi") { @@ -58,10 +65,12 @@ ohos_shared_library("cryptoframework_napi") { "//third_party/bounds_checking_function/include", "//commonlibrary/c_utils/base/include", "//base/security/crypto_framework/frameworks/js/napi/inc", + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", ] include_dirs += framework_inc_path cflags = [ + "-DHILOG_ENABLE", "-fPIC", "-g3", ] @@ -94,5 +103,8 @@ ohos_shared_library("cryptoframework_napi") { "//third_party/bounds_checking_function:libsec_static", ] - external_deps = [ "napi:ace_napi" ] + external_deps = [ + "hiviewdfx_hilog_native:libhilog", + "napi:ace_napi", + ] } diff --git a/frameworks/js/napi/src/napi_x509_certificate.cpp b/frameworks/js/napi/src/napi_x509_certificate.cpp index 5e83413..cbc7905 100644 --- a/frameworks/js/napi/src/napi_x509_certificate.cpp +++ b/frameworks/js/napi/src/napi_x509_certificate.cpp @@ -1059,6 +1059,9 @@ void NapiX509Certificate::CreateX509CertExecute(napi_env env, void *data) { CfCtx *context = static_cast(data); context->errCode = HcfX509CertificateCreate(context->encodingBlob, &context->cert); + if (context->errCode != HCF_SUCCESS) { + context->errMsg = "create X509Cert failed"; + } } void NapiX509Certificate::CreateX509CertComplete(napi_env env, napi_status status, void *data) diff --git a/frameworks/js/napi/src/napi_x509_crl.cpp b/frameworks/js/napi/src/napi_x509_crl.cpp index ec4ac3a..9f76756 100644 --- a/frameworks/js/napi/src/napi_x509_crl.cpp +++ b/frameworks/js/napi/src/napi_x509_crl.cpp @@ -1124,6 +1124,9 @@ void NapiX509Crl::CreateX509CrlExecute(napi_env env, void *data) { CfCtx *context = static_cast(data); context->errCode = HcfX509CrlCreate(context->encodingBlob, &context->crl); + if (context->errCode != HCF_SUCCESS) { + context->errMsg = "create X509Crl failed"; + } } void NapiX509Crl::CreateX509CrlComplete(napi_env env, napi_status status, void *data) -- Gitee From 37e6ac572a62ac7125ba3291e4d0ad7173d7987f Mon Sep 17 00:00:00 2001 From: winnie-hu Date: Mon, 26 Sep 2022 11:26:11 +0800 Subject: [PATCH 4/5] add argc init and set num to argv size Signed-off-by: winnie-hu --- frameworks/js/napi/src/napi_asy_key_generator.cpp | 10 +++++----- frameworks/js/napi/src/napi_cipher.cpp | 4 ++-- frameworks/js/napi/src/napi_key_agreement.cpp | 8 ++++---- frameworks/js/napi/src/napi_mac.cpp | 6 +++--- frameworks/js/napi/src/napi_md.cpp | 6 +++--- frameworks/js/napi/src/napi_rand.cpp | 6 +++--- frameworks/js/napi/src/napi_sign.cpp | 12 ++++++------ frameworks/js/napi/src/napi_sym_key_generator.cpp | 4 ++-- frameworks/js/napi/src/napi_verify.cpp | 12 ++++++------ 9 files changed, 34 insertions(+), 34 deletions(-) diff --git a/frameworks/js/napi/src/napi_asy_key_generator.cpp b/frameworks/js/napi/src/napi_asy_key_generator.cpp index cb57ad3..02e794c 100644 --- a/frameworks/js/napi/src/napi_asy_key_generator.cpp +++ b/frameworks/js/napi/src/napi_asy_key_generator.cpp @@ -109,7 +109,7 @@ static bool BuildGenKeyPairCtx(napi_env env, napi_callback_info info, GenKeyPair { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_ONE; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_ONE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if (argc != expectedArgc && argc != expectedArgc - 1) { @@ -173,7 +173,7 @@ static bool BuildConvertKeyCtx(napi_env env, napi_callback_info info, ConvertKey { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_THREE; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_THREE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if (argc != expectedArgc && argc != expectedArgc - 1) { @@ -465,12 +465,12 @@ napi_value NapiAsyKeyGenerator::AsyKeyGeneratorConstructor(napi_env env, napi_ca napi_value NapiAsyKeyGenerator::CreateJsAsyKeyGenerator(napi_env env, napi_callback_info info) { LOGI("enter ..."); - size_t exceptedArgc = PARAMS_NUM_ONE; - size_t argc; + size_t expectedArgc = PARAMS_NUM_ONE; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_ONE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return NapiGetNull(env); } diff --git a/frameworks/js/napi/src/napi_cipher.cpp b/frameworks/js/napi/src/napi_cipher.cpp index 8643432..6ee9e86 100644 --- a/frameworks/js/napi/src/napi_cipher.cpp +++ b/frameworks/js/napi/src/napi_cipher.cpp @@ -593,12 +593,12 @@ napi_value NapiCipher::CipherConstructor(napi_env env, napi_callback_info info) napi_value NapiCipher::CreateCipher(napi_env env, napi_callback_info info) { - size_t exceptedArgc = ARGS_SIZE_ONE; + size_t expectedArgc = ARGS_SIZE_ONE; size_t argc = ARGS_SIZE_ONE; napi_value argv[ARGS_SIZE_ONE] = { nullptr }; NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr)); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { napi_throw(env, GenerateBusinessError(env, HCF_INVALID_PARAMS, "The input args num is invalid.")); LOGE("The input args num is invalid."); return nullptr; diff --git a/frameworks/js/napi/src/napi_key_agreement.cpp b/frameworks/js/napi/src/napi_key_agreement.cpp index 85a3c15..c2657d1 100644 --- a/frameworks/js/napi/src/napi_key_agreement.cpp +++ b/frameworks/js/napi/src/napi_key_agreement.cpp @@ -74,7 +74,7 @@ static bool BuildKeyAgreementJsCtx(napi_env env, napi_callback_info info, KeyAgr { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_THREE; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_THREE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if (argc != expectedArgc && argc != expectedArgc - 1) { @@ -254,12 +254,12 @@ napi_value NapiKeyAgreement::KeyAgreementConstructor(napi_env env, napi_callback napi_value NapiKeyAgreement::CreateJsKeyAgreement(napi_env env, napi_callback_info info) { LOGI("enter ..."); - size_t exceptedArgc = PARAMS_NUM_ONE; - size_t argc; + size_t expectedArgc = PARAMS_NUM_ONE; + size_t argc = PARAMS_NUM_ONE; napi_value argv[PARAMS_NUM_ONE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 41a2581..f97f2e1 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -416,11 +416,11 @@ napi_value NapiMac::MacConstructor(napi_env env, napi_callback_info info) napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) { - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc; + size_t expectedArgc = ARGS_SIZE_ONE; + size_t argc = expectedArgc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 4c84f6d..902e994 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -323,11 +323,11 @@ napi_value NapiMd::MdConstructor(napi_env env, napi_callback_info info) napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) { - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc; + size_t expectedArgc = ARGS_SIZE_ONE; + size_t argc = expectedArgc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index aa16244..7458927 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -310,10 +310,10 @@ napi_value NapiRand::RandConstructor(napi_env env, napi_callback_info info) napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) { - size_t exceptedArgc = ARGS_SIZE_ZERO; - size_t argc; + size_t expectedArgc = ARGS_SIZE_ZERO; + size_t argc = expectedArgc; napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } diff --git a/frameworks/js/napi/src/napi_sign.cpp b/frameworks/js/napi/src/napi_sign.cpp index 94cc8ac..a3e1208 100644 --- a/frameworks/js/napi/src/napi_sign.cpp +++ b/frameworks/js/napi/src/napi_sign.cpp @@ -142,7 +142,7 @@ static bool BuildSignJsInitCtx(napi_env env, napi_callback_info info, SignInitCt { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_TWO; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_TWO] = { nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if (argc != expectedArgc && argc != expectedArgc - 1) { @@ -185,7 +185,7 @@ static bool BuildSignJsUpdateCtx(napi_env env, napi_callback_info info, SignUpda { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_TWO; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_TWO] = { nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if ((argc != expectedArgc) && (argc != expectedArgc - 1)) { @@ -226,7 +226,7 @@ static bool BuildSignJsDoFinalCtx(napi_env env, napi_callback_info info, SignDoF { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_TWO; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_TWO] = { nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if ((argc != expectedArgc) && (argc != expectedArgc - 1)) { @@ -593,12 +593,12 @@ napi_value NapiSign::SignConstructor(napi_env env, napi_callback_info info) napi_value NapiSign::CreateJsSign(napi_env env, napi_callback_info info) { LOGI("enter ..."); - size_t exceptedArgc = PARAMS_NUM_ONE; - size_t argc; + size_t expectedArgc = PARAMS_NUM_ONE; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_ONE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } diff --git a/frameworks/js/napi/src/napi_sym_key_generator.cpp b/frameworks/js/napi/src/napi_sym_key_generator.cpp index 5897cf3..71d08d5 100644 --- a/frameworks/js/napi/src/napi_sym_key_generator.cpp +++ b/frameworks/js/napi/src/napi_sym_key_generator.cpp @@ -370,12 +370,12 @@ napi_value NapiSymKeyGenerator::SymKeyGeneratorConstructor(napi_env env, napi_ca napi_value NapiSymKeyGenerator::CreateSymKeyGenerator(napi_env env, napi_callback_info info) { - size_t exceptedArgc = ARGS_SIZE_ONE; + size_t expectedArgc = ARGS_SIZE_ONE; size_t argc = ARGS_SIZE_ONE; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { napi_throw(env, GenerateBusinessError(env, HCF_INVALID_PARAMS, "The input args num is invalid.")); LOGE("The input args num is invalid."); return nullptr; diff --git a/frameworks/js/napi/src/napi_verify.cpp b/frameworks/js/napi/src/napi_verify.cpp index 1c42170..64cef4e 100644 --- a/frameworks/js/napi/src/napi_verify.cpp +++ b/frameworks/js/napi/src/napi_verify.cpp @@ -142,7 +142,7 @@ static bool BuildVerifyJsInitCtx(napi_env env, napi_callback_info info, VerifyIn { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_TWO; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_TWO] = { nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if ((argc != expectedArgc) && (argc != expectedArgc - 1)) { @@ -185,7 +185,7 @@ static bool BuildVerifyJsUpdateCtx(napi_env env, napi_callback_info info, Verify { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_TWO; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_TWO] = { nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if ((argc != expectedArgc) && (argc != expectedArgc - 1)) { @@ -255,7 +255,7 @@ static bool BuildVerifyJsDoFinalCtx(napi_env env, napi_callback_info info, Verif { napi_value thisVar = nullptr; size_t expectedArgc = PARAMS_NUM_THREE; - size_t argc; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_THREE] = { nullptr, nullptr, nullptr }; napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); if ((argc != expectedArgc) && (argc != expectedArgc - 1)) { @@ -616,12 +616,12 @@ napi_value NapiVerify::VerifyConstructor(napi_env env, napi_callback_info info) napi_value NapiVerify::CreateJsVerify(napi_env env, napi_callback_info info) { LOGI("enter ..."); - size_t exceptedArgc = PARAMS_NUM_ONE; - size_t argc; + size_t expectedArgc = PARAMS_NUM_ONE; + size_t argc = expectedArgc; napi_value argv[PARAMS_NUM_ONE] = { nullptr }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { + if (argc != expectedArgc) { LOGE("The input args num is invalid."); return nullptr; } -- Gitee From ffbda39d533d20c78b2c62296d36bfee9097c103 Mon Sep 17 00:00:00 2001 From: quyawei Date: Mon, 26 Sep 2022 21:12:56 +0800 Subject: [PATCH 5/5] fix napi rand set seed Signed-off-by: quyawei --- frameworks/js/napi/src/napi_md.cpp | 5 ++++- frameworks/js/napi/src/napi_rand.cpp | 14 ++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 902e994..302d74b 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -73,7 +73,10 @@ static void FreeCryptoFwkCtx(napi_env env, MdCtx *context) static void ReturnCallbackResult(napi_env env, MdCtx *context, napi_value result) { - napi_value businessError = GenerateBusinessError(env, context->errCode, context->errMsg); + napi_value businessError = nullptr; + if (context->errCode != HCF_SUCCESS) { + businessError = GenerateBusinessError(env, context->errCode, context->errMsg); + } napi_value params[ARGS_SIZE_TWO] = { businessError, result }; napi_value func = nullptr; napi_get_reference_value(env, context->callback, &func); diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index 7458927..eabac20 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -73,8 +73,10 @@ static void FreeCryptoFwkCtx(napi_env env, RandCtx *context) static void ReturnCallbackResult(napi_env env, RandCtx *context, napi_value result) { - napi_value businessError = GenerateBusinessError(env, context->errCode, context->errMsg); - + napi_value businessError = nullptr; + if (context->errCode != HCF_SUCCESS) { + businessError = GenerateBusinessError(env, context->errCode, context->errMsg); + } napi_value params[ARGS_SIZE_TWO] = { businessError, result }; napi_value func = nullptr; @@ -249,10 +251,10 @@ napi_value NapiRand::SetSeed(napi_env env, napi_callback_info info) return ret; } context->randClass = this; - context->randBlob = GetBlobFromNapiValue(env, argv[PARAM0]); - if (context->randBlob == nullptr) { - napi_throw(env, GenerateBusinessError(env, HCF_INVALID_PARAMS, "randBlob is null")); - LOGE("randBlob is null!"); + context->seedBlob = GetBlobFromNapiValue(env, argv[PARAM0]); + if (context->seedBlob == nullptr) { + napi_throw(env, GenerateBusinessError(env, HCF_INVALID_PARAMS, "seedBlob is null")); + LOGE("seedBlob is null!"); return ret; } if (!CreateCallbackAndPromise(env, context, argc, ARGS_SIZE_TWO, argv[PARAM1])) { -- Gitee