From 0aa07a1179c27192a99daf76579652413f840018 Mon Sep 17 00:00:00 2001 From: Alice Wang Date: Wed, 8 Jan 2025 08:59:49 +0000 Subject: [getService] Only set binder when getService2() succeeds To avoid crashing in the getService() call. Bug: 387175643 Test: atest servicemanager_test Change-Id: I8617e748fdb85e96ded4c59b5c7785be20de05ee --- libs/binder/BackendUnifiedServiceManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libs/binder/BackendUnifiedServiceManager.cpp') diff --git a/libs/binder/BackendUnifiedServiceManager.cpp b/libs/binder/BackendUnifiedServiceManager.cpp index 4220cdd0e8..7c0319aead 100644 --- a/libs/binder/BackendUnifiedServiceManager.cpp +++ b/libs/binder/BackendUnifiedServiceManager.cpp @@ -215,7 +215,9 @@ Status BackendUnifiedServiceManager::getService(const ::std::string& name, sp* _aidl_return) { os::Service service; Status status = getService2(name, &service); - *_aidl_return = service.get().service; + if (status.isOk()) { + *_aidl_return = service.get().service; + } return status; } -- cgit v1.2.3-59-g8ed1b