From b910601942e78986f585e4a7a23423862682980c Mon Sep 17 00:00:00 2001 From: youshugen Date: Tue, 29 Jul 2025 17:45:18 +0800 Subject: [PATCH] fix: code improve Signed-off-by: youshugen --- test/unittest/src/interface_test/power_mgr_util_test.cpp | 7 ++++++- utils/setting/src/setting_provider.cpp | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/test/unittest/src/interface_test/power_mgr_util_test.cpp b/test/unittest/src/interface_test/power_mgr_util_test.cpp index 5518893e..ed55fe8f 100644 --- a/test/unittest/src/interface_test/power_mgr_util_test.cpp +++ b/test/unittest/src/interface_test/power_mgr_util_test.cpp @@ -273,7 +273,10 @@ HWTEST_F (PowerMgrUtilTest, SettingProvider002, TestSize.Level0) settingProvider.GetIntValue("settings.power.suspend_sources", getValue); SettingObserver::UpdateFunc updateFunc = [&](const std::string&) {}; auto observer = settingProvider.CreateObserver("settings.power.suspend_sources", updateFunc); - EXPECT_EQ(OHOS::ERR_OK, settingProvider.RegisterObserver(observer)); + OHOS::ErrCode ret = settingProvider.RegisterObserver(observer); + EXPECT_EQ(OHOS::ERR_OK, ret); + ret = settingProvider.RegisterObserver(nullptr); + EXPECT_EQ(OHOS::ERR_INVALID_VALUE, ret); POWER_HILOGI(LABEL_TEST, "SettingProvider002 function end!"); } @@ -294,6 +297,8 @@ HWTEST_F (PowerMgrUtilTest, SettingProvider003, TestSize.Level0) OHOS::ErrCode ret = settingProvider.RegisterObserver(observer); ret = settingProvider.UnregisterObserver(observer); EXPECT_EQ(OHOS::ERR_OK, ret); + ret = settingProvider.UnregisterObserver(nullptr); + EXPECT_EQ(OHOS::ERR_INVALID_VALUE, ret); POWER_HILOGI(LABEL_TEST, "SettingProvider003 function end!"); } diff --git a/utils/setting/src/setting_provider.cpp b/utils/setting/src/setting_provider.cpp index d74ae9ce..bed3a11d 100644 --- a/utils/setting/src/setting_provider.cpp +++ b/utils/setting/src/setting_provider.cpp @@ -169,6 +169,10 @@ void SettingProvider::ExecRegisterCb(const sptr& observer) ErrCode SettingProvider::RegisterObserver(const sptr& observer) { + if (observer == nullptr) { + POWER_HILOGE(COMP_UTILS, "observer is nullptr"); + return ERR_INVALID_VALUE; + } std::string callingIdentity = IPCSkeleton::ResetCallingIdentity(); auto uri = AssembleUri(observer->GetKey()); auto helper = CreateDataShareHelper(observer->GetKey()); @@ -188,6 +192,10 @@ ErrCode SettingProvider::RegisterObserver(const sptr& observer) ErrCode SettingProvider::UnregisterObserver(const sptr& observer) { + if (observer == nullptr) { + POWER_HILOGE(COMP_UTILS, "observer is nullptr"); + return ERR_INVALID_VALUE; + } std::string callingIdentity = IPCSkeleton::ResetCallingIdentity(); auto uri = AssembleUri(observer->GetKey()); auto helper = CreateDataShareHelper(observer->GetKey()); -- Gitee