diff options
author | Svet Ganov <svetoslavganov@google.com> | 2015-04-22 02:14:47 -0700 |
---|---|---|
committer | Svet Ganov <svetoslavganov@google.com> | 2015-04-22 02:14:47 -0700 |
commit | 4f2dcfd48010a338dc9a2f5870ed12b382c30cd7 (patch) | |
tree | 3c2e9dc581da3838c5306adbbe9f5c923a11fab6 /services | |
parent | 8b625dbe7fa13e3fd15f57f015ab7afe229ce3cf (diff) | |
download | frameworks_base-4f2dcfd48010a338dc9a2f5870ed12b382c30cd7.zip frameworks_base-4f2dcfd48010a338dc9a2f5870ed12b382c30cd7.tar.gz frameworks_base-4f2dcfd48010a338dc9a2f5870ed12b382c30cd7.tar.bz2 |
Fix permission check imposed by broadcast sender.
Change-Id: Id105b00aad7b369fa0337fa63753ce7ea71b3383
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/am/BroadcastQueue.java | 3 | ||||
-rw-r--r-- | services/core/java/com/android/server/pm/PermissionsState.java | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 5b5ebef..f62f08d 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -765,7 +765,8 @@ public final class BroadcastQueue { try { perm = AppGlobals.getPackageManager(). checkPermission(r.requiredPermission, - info.activityInfo.applicationInfo.packageName, r.userId); + info.activityInfo.applicationInfo.packageName, + UserHandle.getUserId(info.activityInfo.applicationInfo.uid)); } catch (RemoteException e) { perm = PackageManager.PERMISSION_DENIED; } diff --git a/services/core/java/com/android/server/pm/PermissionsState.java b/services/core/java/com/android/server/pm/PermissionsState.java index 688c035..3749957 100644 --- a/services/core/java/com/android/server/pm/PermissionsState.java +++ b/services/core/java/com/android/server/pm/PermissionsState.java @@ -93,6 +93,9 @@ public final class PermissionsState { * @param other The other instance. */ public void copyFrom(PermissionsState other) { + if (other == this) { + return; + } if (mPermissions != null) { if (other.mPermissions == null) { mPermissions = null; |