From 38122c0224f67d709afa4c210acb83e167bb0df9 Mon Sep 17 00:00:00 2001 From: fuzikun Date: Wed, 21 Sep 2022 11:17:58 +0800 Subject: [PATCH 1/2] 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 e2b70a7f52d6655a5b6c06d114605ccd077d0f6f Mon Sep 17 00:00:00 2001 From: fuzikun Date: Tue, 27 Sep 2022 11:08:43 +0800 Subject: [PATCH 2/2] Optimization result return Signed-off-by: fuzikun --- frameworks/js/napi/src/napi_verify.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/frameworks/js/napi/src/napi_verify.cpp b/frameworks/js/napi/src/napi_verify.cpp index 0916731..813fc7c 100644 --- a/frameworks/js/napi/src/napi_verify.cpp +++ b/frameworks/js/napi/src/napi_verify.cpp @@ -70,7 +70,8 @@ struct VerifyDoFinalCtx { HcfBlob *data; HcfBlob *signatureData; - bool result; + int32_t result; + bool isVerifySucc; }; thread_local napi_ref NapiVerify::classRef_ = nullptr; @@ -282,6 +283,7 @@ static bool BuildVerifyJsDoFinalCtx(napi_env env, napi_callback_info info, Verif ctx->verify = napiVerify->GetVerify(); ctx->data = data; ctx->signatureData = signatureData; + ctx->result = HCF_ERR_CRYPTO_OPERATION; if (ctx->asyncType == ASYNC_PROMISE) { napi_create_promise(env, &ctx->deferred, &ctx->promise); @@ -365,7 +367,7 @@ static void ReturnDoFinalCallbackResult(napi_env env, VerifyDoFinalCtx *ctx, nap static void ReturnDoFinalPromiseResult(napi_env env, VerifyDoFinalCtx *ctx, napi_value result) { - if (ctx->result) { + if (ctx->result == HCF_SUCCESS) { napi_resolve_deferred(env, ctx->deferred, result); } else { napi_reject_deferred(env, ctx->deferred, @@ -425,10 +427,10 @@ void VerifyJsDoFinalAsyncWorkProcess(napi_env env, void *data) { VerifyDoFinalCtx *ctx = static_cast(data); - bool res = ctx->verify->verify(ctx->verify, ctx->data, ctx->signatureData); + ctx->isVerifySucc = ctx->verify->verify(ctx->verify, ctx->data, ctx->signatureData); + ctx->result = HCF_SUCCESS; - ctx->result = res; - if (!res) { + if (!ctx->isVerifySucc) { LOGE("verify doFinal fail."); return; } @@ -439,7 +441,9 @@ void VerifyJsDoFinalAsyncWorkReturn(napi_env env, napi_status status, void *data VerifyDoFinalCtx *ctx = static_cast(data); napi_value result = nullptr; - napi_get_boolean(env, ctx->result, &result); + if (ctx->result == HCF_SUCCESS) { + napi_get_boolean(env, ctx->isVerifySucc, &result); + } if (ctx->asyncType == ASYNC_CALLBACK) { ReturnDoFinalCallbackResult(env, ctx, result); -- Gitee