From 8debf51f887a17d497b4b62c01712439db306a38 Mon Sep 17 00:00:00 2001 From: "zhangyafei.echo" Date: Thu, 14 Jul 2022 16:44:44 +0800 Subject: [PATCH] IssueNo:#I5H4CB Description:Fix issue. Sig:SIG_ApplicationFramework Feature or BugFix: Feature Binary Source: No Signed-off-by: zhangyafei.echo Change-Id: Icaddc04b936e06251991ceb1e62e5cd5c5f9ac7f --- services/ans/src/advanced_notification_service.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index 443c4d124..7b33b5aef 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -1360,6 +1360,11 @@ ErrCode AdvancedNotificationService::Subscribe( ErrCode errCode = ERR_OK; do { + if (subscriber == nullptr) { + errCode = ERR_ANS_INVALID_PARAM; + break; + } + bool isSubsystem = AccessTokenHelper::VerifyNativeToken(IPCSkeleton::GetCallingTokenID()); if (!IsSystemApp() && !isSubsystem) { ANS_LOGE("Client is not a system app or subsystem"); @@ -1372,11 +1377,6 @@ ErrCode AdvancedNotificationService::Subscribe( break; } - if (subscriber == nullptr) { - errCode = ERR_ANS_INVALID_PARAM; - break; - } - errCode = NotificationSubscriberManager::GetInstance()->AddSubscriber(subscriber, info); if (errCode != ERR_OK) { break; @@ -1393,6 +1393,8 @@ ErrCode AdvancedNotificationService::Unsubscribe( HITRACE_METER_NAME(HITRACE_TAG_NOTIFICATION, __PRETTY_FUNCTION__); ANS_LOGD("%{public}s", __FUNCTION__); + SendUnSubscribeHiSysEvent(IPCSkeleton::GetCallingPid(), IPCSkeleton::GetCallingUid(), info); + bool isSubsystem = AccessTokenHelper::VerifyNativeToken(IPCSkeleton::GetCallingTokenID()); if (!IsSystemApp() && !isSubsystem) { ANS_LOGE("Client is not a system app or subsystem"); @@ -1412,7 +1414,6 @@ ErrCode AdvancedNotificationService::Unsubscribe( return errCode; } - SendUnSubscribeHiSysEvent(IPCSkeleton::GetCallingPid(), IPCSkeleton::GetCallingUid(), info); return ERR_OK; } -- Gitee