From 792e2bc9b511560983ce1055976e64c0b77a9af0 Mon Sep 17 00:00:00 2001 From: Jackal Guo Date: Tue, 15 Jun 2021 11:01:30 +0800 Subject: [PATCH] Revise the IllegalArgumentException check Combining the two IllegalArgumentException check to mitigate the potential information leakage. Bug: 189858128 Test: atest ApplicationInfoTest Test: manually using the PoC in the buganizer to ensure the symptom no longer exists. Change-Id: Ice6d90e2961bf58896c603df78b1493761f42ff0 --- .../java/com/android/server/pm/PackageManagerService.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index a8cc5fdf884d5..cb03fbe19b9f3 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -17097,10 +17097,7 @@ public class PackageManagerService extends IPackageManager.Stub callerPackageName); synchronized (mLock) { PackageSetting ps = mSettings.getPackageLPr(packageName); - if (ps == null) { - throw new IllegalArgumentException("Unknown target package " + packageName); - } - if (shouldFilterApplicationLocked( + if (ps == null || shouldFilterApplicationLocked( ps, Binder.getCallingUid(), UserHandle.getCallingUserId())) { throw new IllegalArgumentException("Unknown target package " + packageName); }