summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ServiceManager.cpp5
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);
});