From f936855d4ab098afc4c79cbf9e8bfa1827928168 Mon Sep 17 00:00:00 2001 From: Bookatz Date: Thu, 14 Mar 2019 11:57:09 -0700 Subject: [PATCH] UserManager.setUserName: clearCallingId pre-Broadcast UserManagerService.setUserName sends a broadcast to all users. Without doing clearCallingIdentity first, it would require INTERACT_ACROSS_USERS permission, which is not required for this function. Bug: 128576953 Test: Manual Change-Id: Ia577248f48234eb9b73e53f9f9da04a86c324e12 --- .../java/com/android/server/pm/UserManagerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 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 3744f68afbfe7..f2d4cf31beaa6 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1299,7 +1299,12 @@ public class UserManagerService extends IUserManager.Stub { } } if (changed) { - sendUserInfoChangedBroadcast(userId); + long ident = Binder.clearCallingIdentity(); + try { + sendUserInfoChangedBroadcast(userId); + } finally { + Binder.restoreCallingIdentity(ident); + } } }