From 5a88c5b763f40ad970caea185ecbf7f9ef01b39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Fri, 5 Jul 2024 14:29:39 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=95=B4=E6=94=B9202=20=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=20Signed-off-by:=20=E9=82=B9=E5=8F=8B=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../napi/session/include/napi_common_utils.h | 2 + .../js/napi/session/src/napi_common_utils.cpp | 39 +++++++++++++++++++ frameworks/js/napi/update/BUILD.gn | 2 + .../js/napi/update/common/src/iupdater.cpp | 8 ++++ .../js/napi/update/src/update_module.cpp | 12 ++++++ 5 files changed, 63 insertions(+) diff --git a/frameworks/js/napi/session/include/napi_common_utils.h b/frameworks/js/napi/session/include/napi_common_utils.h index 3fbeff2b..76720cd8 100644 --- a/frameworks/js/napi/session/include/napi_common_utils.h +++ b/frameworks/js/napi/session/include/napi_common_utils.h @@ -51,6 +51,8 @@ public: static ClientStatus IsTypeOf(napi_env env, napi_value arg, napi_valuetype type); static void NapiThrowParamError(napi_env env, std::vector> ¶mInfos); + static void NapiThrowNotSystemAppError(napi_env env); + static bool IsCallerSystemApp(); static napi_value BuildThrowError(napi_env env, const BusinessError &businessError); static int32_t BuildBusinessError(napi_env env, napi_value &obj, const BusinessError &businessError); static int32_t ConvertToErrorCode(CallResult callResult); diff --git a/frameworks/js/napi/session/src/napi_common_utils.cpp b/frameworks/js/napi/session/src/napi_common_utils.cpp index badc5009..c22ca3ad 100644 --- a/frameworks/js/napi/session/src/napi_common_utils.cpp +++ b/frameworks/js/napi/session/src/napi_common_utils.cpp @@ -15,13 +15,20 @@ #include "napi_common_utils.h" +#include "accesstoken_kit.h" +#include "access_token.h" +#include "ipc_skeleton.h" + #include "napi/native_common.h" #include "node_api.h" +#include "tokenid_kit.h" #include "update_define.h" namespace OHOS::UpdateEngine { constexpr int32_t STRING_MAX_LENGTH = 81920; +constexpr const pid_t ROOT_UID = 0; +constexpr const pid_t EDM_UID = 3057; int32_t NapiCommonUtils::GetInt32(napi_env env, napi_value arg, const std::string &attrName, int32_t &intValue) { @@ -216,6 +223,38 @@ void NapiCommonUtils::NapiThrowParamError( PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %d", CAST_INT(status)); } +void NapiCommonUtils::NapiThrowNotSystemAppError(napi_env env) +{ + BusinessError businessError; + CallResult errCode = CallResult::NOT_SYSTEM_APP; + std::string errMsg = "BusinessError " + std::to_string(CAST_INT(errCode)).append(": Caller not system app."); + businessError.Build(errCode, errMsg); + napi_value msg = BuildThrowError(env, businessError); + napi_status status = napi_throw(env, msg); + PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %d", CAST_INT(status)); +} + +bool NapiCommonUtils::IsCallerSystemApp() +{ + OHOS::Security::AccessToken::AccessTokenID callerToken = IPCSkeleton::GetCallingTokenID(); + auto callerTokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenType(callerToken); + switch (callerTokenType) { + case OHOS::Security::AccessToken::TypeATokenTypeEnum::TOKEN_HAP: { + uint64_t callerFullTokenID = IPCSkeleton::GetCallingFullTokenID(); + // hap进程只允许系统应用调用 + return OHOS::Security::AccessToken::TokenIdKit::IsSystemAppByFullTokenID(callerFullTokenID); + } + case OHOS::Security::AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE: { + pid_t callerUid = IPCSkeleton::GetCallingUid(); + // native进程只允许root权限和edm调用 + return callerUid == ROOT_UID || callerUid == EDM_UID; + } + default: + // 其他情况调用予以禁止 + return false; + } +} + std::string NapiCommonUtils::GetParamNames(std::vector> &strVector) { return ConvertVectorToStr(strVector, true); diff --git a/frameworks/js/napi/update/BUILD.gn b/frameworks/js/napi/update/BUILD.gn index b0fbb66f..dce36bef 100644 --- a/frameworks/js/napi/update/BUILD.gn +++ b/frameworks/js/napi/update/BUILD.gn @@ -48,6 +48,8 @@ ohos_shared_library("$updateengine_client_library_name") { "hilog:libhilog", "ipc:ipc_core", "json:nlohmann_json_static", + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", ] if (ability_ability_runtime_enable) { diff --git a/frameworks/js/napi/update/common/src/iupdater.cpp b/frameworks/js/napi/update/common/src/iupdater.cpp index ac44fb01..453e34af 100644 --- a/frameworks/js/napi/update/common/src/iupdater.cpp +++ b/frameworks/js/napi/update/common/src/iupdater.cpp @@ -26,6 +26,10 @@ napi_value IUpdater::On(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok && argc >= ARG_NUM_TWO, return nullptr, "Error get cb info"); + bool isAppOk = NapiCommonUtils::IsCallerSystemApp(); + PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + return nullptr, "Caller not system app."); + EventClassifyInfo eventClassifyInfo; ClientStatus ret = ClientHelper::GetEventClassifyInfoFromArg(env, args[0], eventClassifyInfo); std::vector> paramInfos; @@ -60,6 +64,10 @@ napi_value IUpdater::Off(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok, return nullptr, "Error get cb info"); + bool isAppOk = NapiCommonUtils::IsCallerSystemApp(); + PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + return nullptr, "Caller not system app."); + EventClassifyInfo eventClassifyInfo; ClientStatus ret = ClientHelper::GetEventClassifyInfoFromArg(env, args[0], eventClassifyInfo); std::vector> paramInfos; diff --git a/frameworks/js/napi/update/src/update_module.cpp b/frameworks/js/napi/update/src/update_module.cpp index 67cbb748..27ad44c7 100644 --- a/frameworks/js/napi/update/src/update_module.cpp +++ b/frameworks/js/napi/update/src/update_module.cpp @@ -112,6 +112,10 @@ napi_value JsConstructorLocalUpdater(napi_env env, napi_callback_info info) napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) { + bool ret = NapiCommonUtils::IsCallerSystemApp(); + PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + return nullptr, "Failed to GetOnlineUpdater"); + napi_value jsObject = nullptr; UpdateClient *client = CreateJsObject(env, info, g_updateClientConstructorRef, jsObject); if (client != nullptr) { @@ -125,6 +129,10 @@ napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) napi_value GetRestorer(napi_env env, napi_callback_info info) { + bool ret = NapiCommonUtils::IsCallerSystemApp(); + PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + return nullptr, "Failed to GetRestorer"); + napi_value jsObject = nullptr; Restorer* restorer = CreateJsObject(env, info, g_restorerConstructorRef, jsObject); if (restorer == nullptr) { @@ -135,6 +143,10 @@ napi_value GetRestorer(napi_env env, napi_callback_info info) napi_value GetLocalUpdater(napi_env env, napi_callback_info info) { + bool ret = NapiCommonUtils::IsCallerSystemApp(); + PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + return nullptr, "Failed to GetLocalUpdater"); + napi_value jsObject = nullptr; LocalUpdater* localUpdater = CreateJsObject(env, info, g_localUpdaterConstructorRef, jsObject); if (localUpdater == nullptr) { -- Gitee From ba12392003e1beff9459b3debcb9e2ce52aee53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Fri, 5 Jul 2024 06:50:29 +0000 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9gn=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- frameworks/js/napi/update/BUILD.gn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/js/napi/update/BUILD.gn b/frameworks/js/napi/update/BUILD.gn index dce36bef..0d7b70f1 100644 --- a/frameworks/js/napi/update/BUILD.gn +++ b/frameworks/js/napi/update/BUILD.gn @@ -44,12 +44,12 @@ ohos_shared_library("$updateengine_client_library_name") { ] external_deps = [ + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", "c_utils:utils", # sptr "hilog:libhilog", "ipc:ipc_core", "json:nlohmann_json_static", - "access_token:libaccesstoken_sdk", - "access_token:libtokenid_sdk", ] if (ability_ability_runtime_enable) { -- Gitee From 978515e52aa2549a6569d7293fb864c0f24e929b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Fri, 5 Jul 2024 16:52:40 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=90=8D=20IsCallerValid=20Signed-off-by:=20=E9=82=B9=E5=8F=8B?= =?UTF-8?q?=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frameworks/js/napi/session/include/napi_common_utils.h | 2 +- frameworks/js/napi/session/src/napi_common_utils.cpp | 2 +- frameworks/js/napi/update/common/src/iupdater.cpp | 4 ++-- frameworks/js/napi/update/src/update_module.cpp | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frameworks/js/napi/session/include/napi_common_utils.h b/frameworks/js/napi/session/include/napi_common_utils.h index 76720cd8..07aedf4d 100644 --- a/frameworks/js/napi/session/include/napi_common_utils.h +++ b/frameworks/js/napi/session/include/napi_common_utils.h @@ -52,7 +52,7 @@ public: static ClientStatus IsTypeOf(napi_env env, napi_value arg, napi_valuetype type); static void NapiThrowParamError(napi_env env, std::vector> ¶mInfos); static void NapiThrowNotSystemAppError(napi_env env); - static bool IsCallerSystemApp(); + static bool IsCallerValid(); static napi_value BuildThrowError(napi_env env, const BusinessError &businessError); static int32_t BuildBusinessError(napi_env env, napi_value &obj, const BusinessError &businessError); static int32_t ConvertToErrorCode(CallResult callResult); diff --git a/frameworks/js/napi/session/src/napi_common_utils.cpp b/frameworks/js/napi/session/src/napi_common_utils.cpp index c22ca3ad..b192b0c4 100644 --- a/frameworks/js/napi/session/src/napi_common_utils.cpp +++ b/frameworks/js/napi/session/src/napi_common_utils.cpp @@ -234,7 +234,7 @@ void NapiCommonUtils::NapiThrowNotSystemAppError(napi_env env) PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %d", CAST_INT(status)); } -bool NapiCommonUtils::IsCallerSystemApp() +bool NapiCommonUtils::IsCallerValid() { OHOS::Security::AccessToken::AccessTokenID callerToken = IPCSkeleton::GetCallingTokenID(); auto callerTokenType = OHOS::Security::AccessToken::AccessTokenKit::GetTokenType(callerToken); diff --git a/frameworks/js/napi/update/common/src/iupdater.cpp b/frameworks/js/napi/update/common/src/iupdater.cpp index 453e34af..61030584 100644 --- a/frameworks/js/napi/update/common/src/iupdater.cpp +++ b/frameworks/js/napi/update/common/src/iupdater.cpp @@ -26,7 +26,7 @@ napi_value IUpdater::On(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok && argc >= ARG_NUM_TWO, return nullptr, "Error get cb info"); - bool isAppOk = NapiCommonUtils::IsCallerSystemApp(); + bool isAppOk = NapiCommonUtils::IsCallerValid(); PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Caller not system app."); @@ -64,7 +64,7 @@ napi_value IUpdater::Off(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok, return nullptr, "Error get cb info"); - bool isAppOk = NapiCommonUtils::IsCallerSystemApp(); + bool isAppOk = NapiCommonUtils::IsCallerValid(); PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Caller not system app."); diff --git a/frameworks/js/napi/update/src/update_module.cpp b/frameworks/js/napi/update/src/update_module.cpp index 27ad44c7..6a869352 100644 --- a/frameworks/js/napi/update/src/update_module.cpp +++ b/frameworks/js/napi/update/src/update_module.cpp @@ -112,7 +112,7 @@ napi_value JsConstructorLocalUpdater(napi_env env, napi_callback_info info) napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerSystemApp(); + bool ret = NapiCommonUtils::IsCallerValid(); PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetOnlineUpdater"); @@ -129,7 +129,7 @@ napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) napi_value GetRestorer(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerSystemApp(); + bool ret = NapiCommonUtils::IsCallerValid(); PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetRestorer"); @@ -143,7 +143,7 @@ napi_value GetRestorer(napi_env env, napi_callback_info info) napi_value GetLocalUpdater(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerSystemApp(); + bool ret = NapiCommonUtils::IsCallerValid(); PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetLocalUpdater"); -- Gitee From 25a302eb4fc36a18d69ff659ab16da686fca6c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Mon, 8 Jul 2024 16:54:57 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A3=80=E8=A7=86?= =?UTF-8?q?=E6=84=8F=E8=A7=81=20Signed-off-by:=20=E9=82=B9=E5=8F=8B?= =?UTF-8?q?=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frameworks/js/napi/session/src/napi_common_utils.cpp | 7 ------- frameworks/js/napi/update/common/src/iupdater.cpp | 8 ++++---- frameworks/js/napi/update/src/update_module.cpp | 12 ++++++------ 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/frameworks/js/napi/session/src/napi_common_utils.cpp b/frameworks/js/napi/session/src/napi_common_utils.cpp index b192b0c4..6dbbe476 100644 --- a/frameworks/js/napi/session/src/napi_common_utils.cpp +++ b/frameworks/js/napi/session/src/napi_common_utils.cpp @@ -27,8 +27,6 @@ namespace OHOS::UpdateEngine { constexpr int32_t STRING_MAX_LENGTH = 81920; -constexpr const pid_t ROOT_UID = 0; -constexpr const pid_t EDM_UID = 3057; int32_t NapiCommonUtils::GetInt32(napi_env env, napi_value arg, const std::string &attrName, int32_t &intValue) { @@ -244,11 +242,6 @@ bool NapiCommonUtils::IsCallerValid() // hap进程只允许系统应用调用 return OHOS::Security::AccessToken::TokenIdKit::IsSystemAppByFullTokenID(callerFullTokenID); } - case OHOS::Security::AccessToken::TypeATokenTypeEnum::TOKEN_NATIVE: { - pid_t callerUid = IPCSkeleton::GetCallingUid(); - // native进程只允许root权限和edm调用 - return callerUid == ROOT_UID || callerUid == EDM_UID; - } default: // 其他情况调用予以禁止 return false; diff --git a/frameworks/js/napi/update/common/src/iupdater.cpp b/frameworks/js/napi/update/common/src/iupdater.cpp index 61030584..44b36cb3 100644 --- a/frameworks/js/napi/update/common/src/iupdater.cpp +++ b/frameworks/js/napi/update/common/src/iupdater.cpp @@ -26,8 +26,8 @@ napi_value IUpdater::On(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok && argc >= ARG_NUM_TWO, return nullptr, "Error get cb info"); - bool isAppOk = NapiCommonUtils::IsCallerValid(); - PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + bool isCallerValid = NapiCommonUtils::IsCallerValid(); + PARAM_CHECK_NAPI_CALL(env, isCallerValid, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Caller not system app."); EventClassifyInfo eventClassifyInfo; @@ -64,8 +64,8 @@ napi_value IUpdater::Off(napi_env env, napi_callback_info info) napi_status status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); PARAM_CHECK_NAPI_CALL(env, status == napi_ok, return nullptr, "Error get cb info"); - bool isAppOk = NapiCommonUtils::IsCallerValid(); - PARAM_CHECK_NAPI_CALL(env, isAppOk == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + bool isCallerValid = NapiCommonUtils::IsCallerValid(); + PARAM_CHECK_NAPI_CALL(env, isCallerValid, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Caller not system app."); EventClassifyInfo eventClassifyInfo; diff --git a/frameworks/js/napi/update/src/update_module.cpp b/frameworks/js/napi/update/src/update_module.cpp index 6a869352..5690ba67 100644 --- a/frameworks/js/napi/update/src/update_module.cpp +++ b/frameworks/js/napi/update/src/update_module.cpp @@ -112,8 +112,8 @@ napi_value JsConstructorLocalUpdater(napi_env env, napi_callback_info info) napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerValid(); - PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + bool isCallerValid = NapiCommonUtils::IsCallerValid(); + PARAM_CHECK_NAPI_CALL(env, isCallerValid, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetOnlineUpdater"); napi_value jsObject = nullptr; @@ -129,8 +129,8 @@ napi_value GetOnlineUpdater(napi_env env, napi_callback_info info) napi_value GetRestorer(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerValid(); - PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + bool isCallerValid = NapiCommonUtils::IsCallerValid(); + PARAM_CHECK_NAPI_CALL(env, isCallerValid, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetRestorer"); napi_value jsObject = nullptr; @@ -143,8 +143,8 @@ napi_value GetRestorer(napi_env env, napi_callback_info info) napi_value GetLocalUpdater(napi_env env, napi_callback_info info) { - bool ret = NapiCommonUtils::IsCallerValid(); - PARAM_CHECK_NAPI_CALL(env, ret == true, NapiCommonUtils::NapiThrowNotSystemAppError(env); + bool isCallerValid = NapiCommonUtils::IsCallerValid(); + PARAM_CHECK_NAPI_CALL(env, isCallerValid, NapiCommonUtils::NapiThrowNotSystemAppError(env); return nullptr, "Failed to GetLocalUpdater"); napi_value jsObject = nullptr; -- Gitee From 33a95ed8435b8b9da614c3ce60b965afd41406de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 9 Jul 2024 01:16:30 +0000 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9%d=E4=B8=BA=20%{public}d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- frameworks/js/napi/session/src/napi_common_utils.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/js/napi/session/src/napi_common_utils.cpp b/frameworks/js/napi/session/src/napi_common_utils.cpp index 6dbbe476..c7a8a444 100644 --- a/frameworks/js/napi/session/src/napi_common_utils.cpp +++ b/frameworks/js/napi/session/src/napi_common_utils.cpp @@ -218,7 +218,7 @@ void NapiCommonUtils::NapiThrowParamError( businessError.Build(errCode, errMsg); napi_value msg = BuildThrowError(env, businessError); napi_status status = napi_throw(env, msg); - PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %d", CAST_INT(status)); + PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %{public}d", CAST_INT(status)); } void NapiCommonUtils::NapiThrowNotSystemAppError(napi_env env) @@ -229,7 +229,7 @@ void NapiCommonUtils::NapiThrowNotSystemAppError(napi_env env) businessError.Build(errCode, errMsg); napi_value msg = BuildThrowError(env, businessError); napi_status status = napi_throw(env, msg); - PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %d", CAST_INT(status)); + PARAM_CHECK(status == napi_ok, return, "Failed to napi_throw %{public}d", CAST_INT(status)); } bool NapiCommonUtils::IsCallerValid() @@ -281,7 +281,7 @@ napi_value NapiCommonUtils::BuildThrowError(napi_env env, const BusinessError &b napi_create_string_utf8(env, businessError.message.c_str(), NAPI_AUTO_LENGTH, &message); napi_value error = nullptr; napi_status status = napi_create_error(env, nullptr, message, &error); - PARAM_CHECK(status == napi_ok, return nullptr, "Failed to create napi_create_object %d", + PARAM_CHECK(status == napi_ok, return nullptr, "Failed to create napi_create_object %{public}d", CAST_INT(status)); SetInt32(env, error, "code", ConvertToErrorCode(businessError.errorNum)); @@ -298,7 +298,7 @@ int32_t NapiCommonUtils::BuildBusinessError(napi_env env, napi_value &obj, const } napi_status status = napi_create_object(env, &obj); PARAM_CHECK(status == napi_ok, return CAST_INT(ClientStatus::CLIENT_INVALID_TYPE), - "Failed to create napi_create_object %d", CAST_INT(status)); + "Failed to create napi_create_object %{public}d", CAST_INT(status)); SetString(env, obj, "message", businessError.message); SetInt32(env, obj, "code", ConvertToErrorCode(businessError.errorNum)); @@ -369,9 +369,9 @@ ClientStatus NapiCommonUtils::CheckNapiObjectType(napi_env env, const napi_value { napi_valuetype type = napi_undefined; napi_status status = napi_typeof(env, arg, &type); - PARAM_CHECK(status == napi_ok, return ClientStatus::CLIENT_INVALID_TYPE, "Invalid argc %d", + PARAM_CHECK(status == napi_ok, return ClientStatus::CLIENT_INVALID_TYPE, "Invalid argc %{public}d", static_cast(status)); - PARAM_CHECK(type == napi_object, return ClientStatus::CLIENT_INVALID_TYPE, "Invalid argc %d", + PARAM_CHECK(type == napi_object, return ClientStatus::CLIENT_INVALID_TYPE, "Invalid argc %{public}d", static_cast(type)) return ClientStatus::CLIENT_SUCCESS; } -- Gitee