commit | c4620960d3374b40a80a402810d261b08557f86d | [log] [tgz] |
---|---|---|
author | Michael Groover <mpgroover@google.com> | Mon Apr 18 15:14:52 2022 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Apr 18 15:14:52 2022 +0000 |
tree | 752b21827153341acc49e893f5bde75f704e5116 | |
parent | e19a78b9d94ec52dadc8f39773b386db33b89094 [diff] | |
parent | 49aa5e4a1f57167da43c5625721541d0b9b5f4ad [diff] |
Merge "Revert "Revert "Only allow root/system UIDs to send broadcast to unexported receiver""" into tm-dev am: 49aa5e4a1f Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17647158 Change-Id: Ief08786c83accecb677f26bf75a1669dde09354d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 3ba99a8..dd7fb84 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -879,9 +879,9 @@ // Ensure that broadcasts are only sent to other apps if they are explicitly marked as // exported, or are System level broadcasts - if (!skip && !filter.exported && !Process.isCoreUid(r.callingUid) - && filter.receiverList.uid != r.callingUid) { - + if (!skip && !filter.exported && mService.checkComponentPermission(null, r.callingPid, + r.callingUid, filter.receiverList.uid, filter.exported) + != PackageManager.PERMISSION_GRANTED) { Slog.w(TAG, "Exported Denial: sending " + r.intent.toString() + ", action: " + r.intent.getAction()