From 1182c9187d35bd81c9e39633eb3adee5522fe3e5 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 28 Feb 2021 14:22:39 +0800 Subject: [PATCH] [core] Fix NPE when getting package components (#228) --- .../java/io/github/lsposed/lspd/service/PackageService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java b/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java index f821cee3..3ada9ec0 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/PackageService.java @@ -117,6 +117,7 @@ public class PackageService { private static Set fetchProcesses(PackageInfo pkgInfo) { HashSet processNames = new HashSet<>(); + if (pkgInfo == null) return processNames; for (ComponentInfo[] componentInfos : new ComponentInfo[][]{pkgInfo.activities, pkgInfo.receivers, pkgInfo.providers}) { if (componentInfos == null) continue; for (ComponentInfo componentInfo : componentInfos) { @@ -148,6 +149,7 @@ public class PackageService { pkgInfo = pm.getPackageInfo(packageName, flags | PackageManager.GET_ACTIVITIES | PackageManager.GET_SERVICES | PackageManager.GET_RECEIVERS | PackageManager.GET_PROVIDERS, userId); } catch (Exception e) { pkgInfo = pm.getPackageInfo(packageName, flags, userId); + if (pkgInfo == null) return null; try { pkgInfo.activities = pm.getPackageInfo(packageName, flags | PackageManager.GET_ACTIVITIES, userId).activities; } catch (Exception ignored) {