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
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 3744f68..f2d4cf3 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 @@
}
}
if (changed) {
- sendUserInfoChangedBroadcast(userId);
+ long ident = Binder.clearCallingIdentity();
+ try {
+ sendUserInfoChangedBroadcast(userId);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
}