summaryrefslogtreecommitdiff
path: root/services/incremental/IncrementalServiceValidation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/incremental/IncrementalServiceValidation.cpp')
-rw-r--r--services/incremental/IncrementalServiceValidation.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/incremental/IncrementalServiceValidation.cpp b/services/incremental/IncrementalServiceValidation.cpp
index abadbbf10742..9f2639a81666 100644
--- a/services/incremental/IncrementalServiceValidation.cpp
+++ b/services/incremental/IncrementalServiceValidation.cpp
@@ -56,13 +56,18 @@ binder::Status CheckPermissionForDataDelivery(const char* permission, const char
String16 packageName{package};
- // Caller must also have op granted.
PermissionController pc;
if (auto packageUid = pc.getPackageUid(packageName, 0); packageUid != uid) {
return Exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d does not own package %s", uid, pid,
package));
}
+
+ if (!operation) {
+ return binder::Status::ok();
+ }
+
+ // Caller must also have op granted.
switch (auto result = pc.noteOp(String16(operation), uid, packageName); result) {
case PermissionController::MODE_ALLOWED:
case PermissionController::MODE_DEFAULT: