frameworks/base
Revisión | 2599f36c49b8c191cb17ef6695994d3e8e946335 (tree) |
---|---|
Tiempo | 2019-04-16 04:15:58 |
Autor | Bryan Ferris <bferris@goog...> |
Commiter | Greg Wroblewski |
[RESTRICT AUTOMERGE] Added missing permission check to isPackageDeviceAdminOnAnyUser.
Added a check for the MANAGE_USERS permission to
PackageManagerService#isPackageDeviceAdminOnAnyUser.
Test: Modify the settings app to log the call attempt and follow the
steps below
In order to work around the limitations of N builds we needed to modify
the settings app to log the call attempt. This is described in detail at
b/128599183#comment15
Bug: 128599183
Change-Id: Ie96c8e174983f61574f12d5d4b210d06377054e5
(cherry picked from commit 7b5a576965696747041c93306a41ed656404ed20)
@@ -15789,6 +15789,13 @@ public class PackageManagerService extends IPackageManager.Stub { | ||
15789 | 15789 | |
15790 | 15790 | @Override |
15791 | 15791 | public boolean isPackageDeviceAdminOnAnyUser(String packageName) { |
15792 | + final int callingUid = Binder.getCallingUid(); | |
15793 | + if (checkUidPermission(android.Manifest.permission.MANAGE_USERS, callingUid) | |
15794 | + != PERMISSION_GRANTED) { | |
15795 | + EventLog.writeEvent(0x534e4554, "128599183", -1, ""); | |
15796 | + throw new SecurityException(android.Manifest.permission.MANAGE_USERS | |
15797 | + + " permission is required to call this API"); | |
15798 | + } | |
15792 | 15799 | return isPackageDeviceAdmin(packageName, UserHandle.USER_ALL); |
15793 | 15800 | } |
15794 | 15801 |