Fix NPE when querying serial number of a partial user.
Assuming that UserData.userInfo is never null (?) exists() check
seems unnecessary - in this case getUserInfoLU will just return
null.
Bug: 127791661
Test: build, boot
Change-Id: Ieb10dea96269a92b12bdc084116b1f7633a7c5c5
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 316a9c0..204f186 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -3372,15 +3372,15 @@
@Override
public int getUserSerialNumber(int userHandle) {
synchronized (mUsersLock) {
- if (!exists(userHandle)) return -1;
- return getUserInfoLU(userHandle).serialNumber;
+ final UserInfo userInfo = getUserInfoLU(userHandle);
+ return userInfo != null ? userInfo.serialNumber : -1;
}
}
@Override
public boolean isUserNameSet(int userHandle) {
synchronized (mUsersLock) {
- UserInfo userInfo = getUserInfoLU(userHandle);
+ final UserInfo userInfo = getUserInfoLU(userHandle);
return userInfo != null && userInfo.name != null;
}
}