diff options
| -rw-r--r-- | ServiceManager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ServiceManager.cpp b/ServiceManager.cpp index fffe281..85d4974 100644 --- a/ServiceManager.cpp +++ b/ServiceManager.cpp @@ -312,6 +312,11 @@ Return<bool> ServiceManager::add(const hidl_string& name, const sp<IBase>& servi auto pidcon = getBinderCallingContext(); + if (!mAcl.canAdd(IBase::descriptor, pidcon)) { + LOG(ERROR) << "Missing permissions to add IBase"; + return false; + } + auto ret = service->interfaceChain([&](const auto &interfaceChain) { addSuccess = addImpl(name, service, interfaceChain, pidcon); }); |
