From ac086b8af8ea2ed4f5703645e18405ee8ae5b6d4 Mon Sep 17 00:00:00 2001 From: MOVZX Date: Fri, 2 Jan 2026 22:27:13 +0700 Subject: [PATCH] Fix NullPointerException in PackageManagerService Add null check before calling equals() on packageName to prevent a potential NullPointerException that could cause system restart. When executing certain package manager service calls, packageName could be null, leading to a fatal exception in the system process. This change adds a null check before the equals() invocation to safely handle the null case. Test: Manual testing with service call, no crash observed Change-Id: Idbbff663cc68614677a2c0d21a8941c4d9c7dd04 Signed-off-by: Jia Jia Signed-off-by: MOVZX --- .../core/java/com/android/server/pm/PackageManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 9af144f806515..d5332d5934ee7 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -3410,7 +3410,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService // TODO Do we have to do it even if userId != UserHandle.USER_ALL? Otherwise, // this check is probably not needed, since DO should be registered as a device // admin on some user too. (Original bug for this: b/17657954) - if (packageName.equals(deviceOwnerPackageName)) { + if (packageName != null && packageName.equals(deviceOwnerPackageName)) { return true; } // Does it contain a device admin for any user?