From 03c04c2141e5ba35d618b8a00d709f792bd3d7c4 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Wed, 4 Jul 2018 23:38:09 +0800 Subject: [PATCH] Prevent duplicate policy of same package name Fix #470 --- src/full/java/com/topjohnwu/magisk/container/Policy.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/full/java/com/topjohnwu/magisk/container/Policy.java b/src/full/java/com/topjohnwu/magisk/container/Policy.java index d7e9d769c..3c3cf60e5 100644 --- a/src/full/java/com/topjohnwu/magisk/container/Policy.java +++ b/src/full/java/com/topjohnwu/magisk/container/Policy.java @@ -20,7 +20,8 @@ public class Policy implements Comparable{ public Policy(int uid, PackageManager pm) throws PackageManager.NameNotFoundException { String[] pkgs = pm.getPackagesForUid(uid); - if (pkgs == null || pkgs.length == 0) throw new PackageManager.NameNotFoundException(); + if (pkgs == null || pkgs.length == 0) + throw new PackageManager.NameNotFoundException(); this.uid = uid; packageName = pkgs[0]; info = pm.getApplicationInfo(packageName, 0); @@ -35,6 +36,8 @@ public class Policy implements Comparable{ logging = c.getInt(c.getColumnIndex("logging")) != 0; notification = c.getInt(c.getColumnIndex("notification")) != 0; info = pm.getApplicationInfo(packageName, 0); + if (info.uid != uid) + throw new PackageManager.NameNotFoundException(); appName = info.loadLabel(pm).toString(); }