From 3bb39cecad6cae8a0dabe2325b81ca98054707b7 Mon Sep 17 00:00:00 2001 From: lsq Date: Wed, 1 Jun 2022 20:41:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96verify=E7=9A=84=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lsq Change-Id: Ieb769ca0844bf697b645d9b630941b6809c3d95c --- .../main/cpp/src/permission/permission_manager.cpp | 10 +--------- .../main/cpp/src/token/accesstoken_info_manager.cpp | 9 ++++----- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp b/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp index 363af1d21..04c3947f1 100644 --- a/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/permission/permission_manager.cpp @@ -87,21 +87,13 @@ void PermissionManager::RemoveDefPermissions(AccessTokenID tokenID) int PermissionManager::VerifyHapAccessToken(AccessTokenID tokenID, const std::string& permissionName) { - ACCESSTOKEN_LOG_INFO(LABEL, "called"); std::shared_ptr tokenInfoPtr = AccessTokenInfoManager::GetInstance().GetHapTokenInfoInner(tokenID); if (tokenInfoPtr == nullptr) { ACCESSTOKEN_LOG_ERROR(LABEL, "can not find tokenInfo!"); return PERMISSION_DENIED; } - - if (!tokenInfoPtr->IsRemote() && !PermissionDefinitionCache::GetInstance().HasDefinition(permissionName)) { - ACCESSTOKEN_LOG_ERROR( - LABEL, "no definition for permission: %{public}s!", permissionName.c_str()); - return PERMISSION_DENIED; - } - std::shared_ptr permPolicySet = - AccessTokenInfoManager::GetInstance().GetHapPermissionPolicySet(tokenID); + std::shared_ptr permPolicySet = tokenInfoPtr->GetHapInfoPermissionPolicySet(); if (permPolicySet == nullptr) { ACCESSTOKEN_LOG_ERROR(LABEL, "invalid params!"); return PERMISSION_DENIED; diff --git a/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp b/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp index 08bb0c909..8ce18303e 100644 --- a/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp +++ b/services/accesstokenmanager/main/cpp/src/token/accesstoken_info_manager.cpp @@ -223,12 +223,11 @@ int AccessTokenInfoManager::AddNativeTokenInfo(const std::shared_ptr AccessTokenInfoManager::GetHapTokenInfoInner(AccessTokenID id) { Utils::UniqueReadGuard infoGuard(this->hapTokenInfoLock_); - if (hapTokenInfoMap_.count(id) == 0) { - ACCESSTOKEN_LOG_ERROR( - LABEL, "token %{public}u is invalid.", id); - return nullptr; + if (hapTokenInfoMap_.count(id) != 0) { + return hapTokenInfoMap_[id]; } - return hapTokenInfoMap_[id]; + ACCESSTOKEN_LOG_ERROR(LABEL, "token %{public}u is invalid.", id); + return nullptr; } int AccessTokenInfoManager::GetHapTokenInfo(AccessTokenID tokenID, HapTokenInfo& InfoParcel) -- Gitee