From 3d6137ae142f3b45363759e321972d73c31d12ad Mon Sep 17 00:00:00 2001 From: lsq Date: Thu, 26 May 2022 16:44:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lsq Change-Id: I462015667a452d42c7cb09a36e16fc78762e8caa --- .../src/service/token_sync_manager_stub.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp b/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp index cefdf158f..053b38330 100644 --- a/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp +++ b/services/tokensyncmanager/src/service/token_sync_manager_stub.cpp @@ -54,6 +54,12 @@ int32_t TokenSyncManagerStub::OnRemoteRequest( void TokenSyncManagerStub::GetRemoteHapTokenInfoInner(MessageParcel& data, MessageParcel& reply) { + AccessTokenID tokenCaller = IPCSkeleton::GetCallingTokenID(); + if ((reinterpret_cast(&tokenCaller))->type != TOKEN_NATIVE) { + ACCESSTOKEN_LOG_ERROR(LABEL, "%{public}s called, permission denied", __func__); + reply.WriteInt32(RET_FAILED); + return; + } std::string deviceID = data.ReadString(); AccessTokenID tokenID = data.ReadUint32(); @@ -64,6 +70,12 @@ void TokenSyncManagerStub::GetRemoteHapTokenInfoInner(MessageParcel& data, Messa void TokenSyncManagerStub::DeleteRemoteHapTokenInfoInner(MessageParcel& data, MessageParcel& reply) { + AccessTokenID tokenCaller = IPCSkeleton::GetCallingTokenID(); + if ((reinterpret_cast(&tokenCaller))->type != TOKEN_NATIVE) { + ACCESSTOKEN_LOG_ERROR(LABEL, "%{public}s called, permission denied", __func__); + reply.WriteInt32(RET_FAILED); + return; + } std::string deviceID = data.ReadString(); AccessTokenID tokenID = data.ReadUint32(); int result = this->DeleteRemoteHapTokenInfo(tokenID); @@ -72,6 +84,12 @@ void TokenSyncManagerStub::DeleteRemoteHapTokenInfoInner(MessageParcel& data, Me void TokenSyncManagerStub::UpdateRemoteHapTokenInfoInner(MessageParcel& data, MessageParcel& reply) { + AccessTokenID tokenCaller = IPCSkeleton::GetCallingTokenID(); + if ((reinterpret_cast(&tokenCaller))->type != TOKEN_NATIVE) { + ACCESSTOKEN_LOG_ERROR(LABEL, "%{public}s called, permission denied", __func__); + reply.WriteInt32(RET_FAILED); + return; + } sptr tokenInfoParcelPtr = data.ReadParcelable(); int result = RET_FAILED; if (tokenInfoParcelPtr != nullptr) { -- Gitee