From 8dc72327d4533431de63d620f378455b80e914dc Mon Sep 17 00:00:00 2001 From: liule Date: Fri, 15 Nov 2024 14:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E8=A7=84=E8=8C=83=E6=95=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liule --- frameworks/resmgr/src/res_desc.cpp | 2 +- .../js/innerkits/core/src/resource_manager_napi_utils.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frameworks/resmgr/src/res_desc.cpp b/frameworks/resmgr/src/res_desc.cpp index e9c8363..decbf51 100644 --- a/frameworks/resmgr/src/res_desc.cpp +++ b/frameworks/resmgr/src/res_desc.cpp @@ -241,7 +241,7 @@ bool IdItem::IsRef(const std::string &value, ResType &resType, uint32_t &id) idStr.assign(it + index + 1, value.size() - index); unsigned long tmpId; - if (!Utils::convertToUnsignedLong(idStr, tmpId)) { + if (!Utils::convertToUnsignedLong(idStr, tmpId) || tmpId > UINT32_MAX) { return false; } uint32_t idd = static_cast(tmpId); diff --git a/interfaces/js/innerkits/core/src/resource_manager_napi_utils.cpp b/interfaces/js/innerkits/core/src/resource_manager_napi_utils.cpp index 3c52835..d6f6ce2 100644 --- a/interfaces/js/innerkits/core/src/resource_manager_napi_utils.cpp +++ b/interfaces/js/innerkits/core/src/resource_manager_napi_utils.cpp @@ -128,7 +128,7 @@ uint32_t ResourceManagerNapiUtils::GetResId(napi_env env, size_t argc, napi_valu } int64_t resId = 0; status = napi_get_value_int64(env, argv[ARRAY_SUBCRIPTOR_ZERO], &resId); - if (status != napi_ok) { + if (status != napi_ok || resId < 0 || resId > UINT32_MAX) { RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to get id number"); return 0; } @@ -360,7 +360,11 @@ bool ResourceManagerNapiUtils::GetResourceObjectId(napi_env env, } int64_t resId = 0; status = napi_get_value_int64(env, id, &resId); - if (status != napi_ok) { + if (resId == -1) { + resourcePtr->id = 0; + return true; + } + if (status != napi_ok || resId < 0 || resId > UINT32_MAX) { RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to get resource id value"); return false; } -- Gitee