diff options
author | Eugene Susla <eugenesusla@google.com> | 2020-10-12 16:23:15 -0700 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-11-18 22:51:01 +0000 |
commit | 0c17049d39b5a8867f030f6f36433564140e124a (patch) | |
tree | 379f9f10575f241549575a35348c0f65aef728c4 | |
parent | e237a83f95767f669b83508bb1f594091cbd6bac (diff) | |
download | base-0c17049d39b5a8867f030f6f36433564140e124a.tar.gz |
RESTRICT AUTOMERGE
Fix CDM package check
CDM was using a pckage check that returns a value intead of throwing,
resulting in failing to throw on querying other package's associations
Test: ensure attached bug no longer reproduces
Bug: 167244818
Change-Id: I21319b6f5495dcae681541c76b847aad0c00b8ab
(cherry picked from commit 30b022a8d207573aeaf735a33439884afe60c684)
-rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index d6759b3e2cca..29fc1674bab9 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -372,7 +372,10 @@ public class CompanionDeviceManagerService extends SystemService implements Bind checkArgument(getCallingUserId() == userId, "Must be called by either same user or system"); - mAppOpsManager.checkPackage(Binder.getCallingUid(), pkg); + int callingUid = Binder.getCallingUid(); + if (mAppOpsManager.checkPackage(callingUid, pkg) != AppOpsManager.MODE_ALLOWED) { + throw new SecurityException(pkg + " doesn't belong to uid " + callingUid); + } } @Override |