summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Reynolds <juliacr@google.com>2016-06-28 15:16:21 -0400
committergitbuildkicker <android-build@google.com>2016-08-16 15:52:26 -0700
commit135ea8b3263a0dd58cd5a83c33fad6f2f6c5b4f6 (patch)
tree2bb9395147fb75fe3de87293ab2283243936e4a3
parent2e40f264cfc18d2ad7e5facad077f5498473fb89 (diff)
downloadframeworks_base-135ea8b3263a0dd58cd5a83c33fad6f2f6c5b4f6.zip
frameworks_base-135ea8b3263a0dd58cd5a83c33fad6f2f6c5b4f6.tar.gz
frameworks_base-135ea8b3263a0dd58cd5a83c33fad6f2f6c5b4f6.tar.bz2
Check caller's uid before allowing notification policy access.
Bug: 29421441 Change-Id: I7460268595e932d54660b02007bcd68b95fe8aec
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 4351798..b922d26 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -1642,6 +1642,7 @@ public class NotificationManagerService extends SystemService {
}
private void enforcePolicyAccess(String pkg, String method) {
+ checkCallerIsSameApp(pkg);
if (!checkPolicyAccess(pkg)) {
Slog.w(TAG, "Notification policy access denied calling " + method);
throw new SecurityException("Notification policy access denied");
@@ -3130,6 +3131,10 @@ public class NotificationManagerService extends SystemService {
if (isCallerSystem()) {
return;
}
+ checkCallerIsSameApp(pkg);
+ }
+
+ private static void checkCallerIsSameApp(String pkg) {
final int uid = Binder.getCallingUid();
try {
ApplicationInfo ai = AppGlobals.getPackageManager().getApplicationInfo(