From e83f51255303da79ea041e95b8da2f55435d02f7 Mon Sep 17 00:00:00 2001 From: Irina Dumitrescu Date: Fri, 22 Feb 2019 18:05:32 +0000 Subject: [PATCH] Avoid LockSettingsService NPE during CTS due to races around user removal. Test: atest CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.ManagedProfileTest Fixes: 125421639 Change-Id: Ie015748f4ef54a8de9ad143df2fe1b0f40976f40 --- .../com/android/server/locksettings/LockSettingsService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index aa85c835a5fd2..d83eb08de3f50 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -1966,7 +1966,8 @@ public class LockSettingsService extends ILockSettings.Stub { } catch (RemoteException ex) { Slog.w(TAG, "unable to clear GK secure user id"); } - if (unknownUser || mUserManager.getUserInfo(userId).isManagedProfile()) { + UserInfo userInfo = mUserManager.getUserInfo(userId); + if (unknownUser || userInfo == null || userInfo.isManagedProfile()) { removeKeystoreProfileKey(userId); } }