From c34a63817ba7d6da0e207c6c93844479210c8e28 Mon Sep 17 00:00:00 2001 From: kholoud mohamed Date: Thu, 4 Mar 2021 10:53:43 +0000 Subject: [PATCH] Fix bug in UserManager#getUserName Fixed incorrect permission check in getUserName Fixes: 181814864 Test: Settings no longer crash when switching accounts Change-Id: Ic41da942c2e493cae5c29693bec5f7ecec885226 --- .../core/java/com/android/server/pm/UserManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 871576e7c795c..8283ac668d5e6 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1544,7 +1544,7 @@ public class UserManagerService extends IUserManager.Stub { public String getUserName() { final int callingUid = Binder.getCallingUid(); if (!hasManageOrCreateUsersPermission() - || hasPermissionGranted( + && !hasPermissionGranted( android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED, callingUid)) { throw new SecurityException("You need MANAGE_USERS or CREATE_USERS or " + "GET_ACCOUNTS_PRIVILEGED permissions to: get user name");