OSDN Git Service

Check uid for notification policy access.
authorJulia Reynolds <juliacr@google.com>
Wed, 29 Jun 2016 12:43:00 +0000 (08:43 -0400)
committerJulia Reynolds <juliacr@google.com>
Wed, 29 Jun 2016 18:21:36 +0000 (18:21 +0000)
Bug: 29421441
Change-Id: Ia0a7b06112dde1c925ec3232f50bf4d90b17b5e5
(cherry picked from commit 0cd1b789567b60b963fc7b8935e898ea0e61a617)

services/core/java/com/android/server/notification/NotificationManagerService.java

index 11c6525..ee09e16 100644 (file)
@@ -1983,6 +1983,7 @@ public class NotificationManagerService extends SystemService {
                     android.Manifest.permission.MANAGE_NOTIFICATIONS)) {
                 return;
             }
+            checkCallerIsSameApp(pkg);
             if (!checkPolicyAccess(pkg)) {
                 Slog.w(TAG, "Notification policy access denied calling " + method);
                 throw new SecurityException("Notification policy access denied");
@@ -3643,6 +3644,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(