From 3b79d6533c6259dc5516077f44e1915dfccc2934 Mon Sep 17 00:00:00 2001 From: ql Date: Mon, 5 Jul 2021 13:13:50 +0000 Subject: [PATCH] update services/dbinder/dbinder_service/src/dbinder_service.cpp. --- .../dbinder_service/src/dbinder_service.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/services/dbinder/dbinder_service/src/dbinder_service.cpp b/services/dbinder/dbinder_service/src/dbinder_service.cpp index 1e41c6d..2e18691 100755 --- a/services/dbinder/dbinder_service/src/dbinder_service.cpp +++ b/services/dbinder/dbinder_service/src/dbinder_service.cpp @@ -555,29 +555,25 @@ bool DBinderService::RegisterRemoteProxy(std::u16string serviceName, sptr lockGuard(remoteBinderMutex_); - - // clear historical remnants, Don't care if it succeeds - (void)mapRemoteBinderObjects_.erase(serviceName); - auto result = mapRemoteBinderObjects_.insert(std::pair(serviceName, binder)); - return result.second; + return RegisterRemoteProxyInner(serviceName, binder); } bool DBinderService::RegisterRemoteProxy(std::u16string serviceName, int32_t systemAbilityId) { DBINDER_LOGI("register remote proxy, service name = %{public}s", Str16ToStr8(serviceName).c_str()); - if (serviceName.length() == 0) { + if (serviceName.length() == 0 || systemAbilityId <= 0) { DBINDER_LOGE("serviceName.length() = %zu", serviceName.length()); return false; } binder_uintptr_t binder = (binder_uintptr_t)systemAbilityId; - DBINDER_LOGI("register remote proxy"); + return RegisterRemoteProxyInner(serviceName, binder); +} +bool DBinderService::RegisterRemoteProxyInner(std::u16string serviceName, binder_uintptr_t binder) +{ std::unique_lock lockGuard(remoteBinderMutex_); - // clear historical remnants, Don't care if it succeeds (void)mapRemoteBinderObjects_.erase(serviceName); auto result = mapRemoteBinderObjects_.insert(std::pair(serviceName, binder)); -- GitLab