From 3b7bb68ebf9c2bf0cacc09b1c02cabf2a30c6104 Mon Sep 17 00:00:00 2001 From: cuiruibin Date: Tue, 12 Nov 2024 09:39:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9B=B4=E6=96=B0=EF=BC=8C=E7=BC=96=E7=A0=81=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: cuiruibin --- .../kits/js/file_share/grant_permissions.cpp | 25 +++++++++++++++++++ interfaces/kits/js/file_uri/module.cpp | 4 +++ .../kits/ndk/fileshare/src/oh_file_share.cpp | 4 +-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index f8c3448c5..9a8817ef7 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -141,6 +141,11 @@ napi_value PersistPermission(napi_env env, napi_callback_info info) return nullptr; } shared_ptr arg = make_shared(); + if (arg == nullptr) { + LOGE("PolicyErrorArgs make_shared is failed"); + NError(E_UNKNOWN_ERROR).ThrowErr(env); + return nullptr; + } auto cbExec = [uriPolicies, arg]() -> NError { arg->errNo = FilePermission::PersistPermission(uriPolicies, arg->errorResults); return NError(arg->errNo); @@ -175,6 +180,11 @@ napi_value RevokePermission(napi_env env, napi_callback_info info) return nullptr; } shared_ptr arg = make_shared(); + if (arg == nullptr) { + LOGE("PolicyErrorArgs make_shared is failed"); + NError(E_UNKNOWN_ERROR).ThrowErr(env); + return nullptr; + } auto cbExec = [uriPolicies, arg]() -> NError { arg->errNo = FilePermission::RevokePermission(uriPolicies, arg->errorResults); return NError(arg->errNo); @@ -209,6 +219,11 @@ napi_value ActivatePermission(napi_env env, napi_callback_info info) return nullptr; } shared_ptr arg = make_shared(); + if (arg == nullptr) { + LOGE("PolicyErrorArgs make make_shared failed"); + NError(E_UNKNOWN_ERROR).ThrowErr(env); + return nullptr; + } auto cbExec = [uriPolicies, arg]() -> NError { arg->errNo = FilePermission::ActivatePermission(uriPolicies, arg->errorResults); return NError(arg->errNo); @@ -243,6 +258,11 @@ napi_value DeactivatePermission(napi_env env, napi_callback_info info) return nullptr; } shared_ptr arg = make_shared(); + if (arg == nullptr) { + LOGE("PolicyErrorArgs make_shared is failed"); + NError(E_UNKNOWN_ERROR).ThrowErr(env); + return nullptr; + } auto cbExec = [uriPolicies, arg]() -> NError { arg->errNo = FilePermission::DeactivatePermission(uriPolicies, arg->errorResults); return NError(arg->errNo); @@ -277,6 +297,11 @@ napi_value CheckPersistentPermission(napi_env env, napi_callback_info info) return nullptr; } shared_ptr arg = make_shared(); + if (arg == nullptr) { + LOGE("PolicyInfoResultArgs make_shared is failed"); + NError(E_UNKNOWN_ERROR).ThrowErr(env); + return nullptr; + } auto cbExec = [uriPolicies, arg]() -> NError { arg->errNo = FilePermission::CheckPersistentPermission(uriPolicies, arg->resultData); return NError(arg->errNo); diff --git a/interfaces/kits/js/file_uri/module.cpp b/interfaces/kits/js/file_uri/module.cpp index 378ed9f65..0796a3c2d 100644 --- a/interfaces/kits/js/file_uri/module.cpp +++ b/interfaces/kits/js/file_uri/module.cpp @@ -31,6 +31,10 @@ static napi_value Export(napi_env env, napi_value exports) products.emplace_back(make_unique(env, exports)); products.emplace_back(make_unique(env, exports)); for (auto &&product : products) { + if (product == nullptr) { + LOGE("INNER BUG. product is nullptr"); + return nullptr; + } if (!product->Export()) { LOGE("INNER BUG. Failed to export class %{public}s for module backup", product->GetClassName().c_str()); return nullptr; diff --git a/interfaces/kits/ndk/fileshare/src/oh_file_share.cpp b/interfaces/kits/ndk/fileshare/src/oh_file_share.cpp index 1b115fc1d..1a019c34a 100644 --- a/interfaces/kits/ndk/fileshare/src/oh_file_share.cpp +++ b/interfaces/kits/ndk/fileshare/src/oh_file_share.cpp @@ -80,7 +80,7 @@ static bool ConvertPolicyErrorResult(const std::deque