From c07086c253a94a7f540cca2746842e4ebb1c1b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E6=99=93=E6=99=93?= Date: Mon, 26 May 2025 10:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 史晓晓 --- .../service/src/device_manager_service.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 9daf9e13f..d1b9d1e50 100644 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -1712,6 +1712,10 @@ void DeviceManagerService::InitServiceInfos( int32_t DeviceManagerService::RegisterLocalServiceInfo(const DMLocalServiceInfo &serviceInfo) { + if (!PermissionManager::GetInstance().CheckPermission()) { + LOGE("The caller does not have permission to call RegisterLocalServiceInfo."); + return ERR_DM_NO_PERMISSION; + } #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo; bool success = InitDPLocalServiceInfo(serviceInfo, dpLocalServiceInfo); @@ -1728,6 +1732,11 @@ int32_t DeviceManagerService::RegisterLocalServiceInfo(const DMLocalServiceInfo int32_t DeviceManagerService::UnRegisterLocalServiceInfo(const std::string &bundleName, int32_t pinExchangeType) { + if (!PermissionManager::GetInstance().CheckPermission()) { + LOGE("The caller: %{public}s does not have permission to call UnRegisterLocalServiceInfo.", + bundleName.c_str()); + return ERR_DM_NO_PERMISSION; + } #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) return DeviceProfileConnector::GetInstance().DeleteLocalServiceInfo(bundleName, pinExchangeType); #else @@ -1739,6 +1748,10 @@ int32_t DeviceManagerService::UnRegisterLocalServiceInfo(const std::string &bund int32_t DeviceManagerService::UpdateLocalServiceInfo(const DMLocalServiceInfo &serviceInfo) { + if (!PermissionManager::GetInstance().CheckPermission()) { + LOGE("The caller does not have permission to call UpdateLocalServiceInfo."); + return ERR_DM_NO_PERMISSION; + } #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo; bool success = InitDPLocalServiceInfo(serviceInfo, dpLocalServiceInfo); @@ -1756,6 +1769,11 @@ int32_t DeviceManagerService::UpdateLocalServiceInfo(const DMLocalServiceInfo &s int32_t DeviceManagerService::GetLocalServiceInfoByBundleNameAndPinExchangeType(const std::string &bundleName, int32_t pinExchangeType, DMLocalServiceInfo &serviceInfo) { + if (!PermissionManager::GetInstance().CheckPermission()) { + LOGE("The caller: %{public}s does not have permission to call GetLocalServiceInfo.", + bundleName.c_str()); + return ERR_DM_NO_PERMISSION; + } #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo; int32_t ret = DeviceProfileConnector::GetInstance().GetLocalServiceInfoByBundleNameAndPinExchangeType(bundleName, -- Gitee