From cf1e005819b31246eb793f70666c3396336fca75 Mon Sep 17 00:00:00 2001 From: James Wei Date: Thu, 9 Sep 2021 20:33:05 +0800 Subject: [PATCH] USB: Adjust exception message in dealing with permission check #3 Adjust exception handling Bug: 180104273 Test: CtsVerifier USB Device Test Change-Id: I658f69f446ae8cd65c40da485181337eb9175240 --- .../android/server/usb/UsbUserPermissionManager.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/usb/java/com/android/server/usb/UsbUserPermissionManager.java b/services/usb/java/com/android/server/usb/UsbUserPermissionManager.java index 0c65cc40bd824..286cff90daab4 100644 --- a/services/usb/java/com/android/server/usb/UsbUserPermissionManager.java +++ b/services/usb/java/com/android/server/usb/UsbUserPermissionManager.java @@ -688,6 +688,8 @@ class UsbUserPermissionManager { String packageName, PendingIntent pi, int uid) { + boolean throwException = false; + // compare uid with packageName to foil apps pretending to be someone else try { ApplicationInfo aInfo = mContext.getPackageManager().getApplicationInfo(packageName, 0); @@ -695,11 +697,13 @@ class UsbUserPermissionManager { Slog.w(TAG, "package " + packageName + " does not match caller's uid " + uid); EventLog.writeEvent(SNET_EVENT_LOG_ID, "180104273", -1, ""); - throw new IllegalArgumentException("package " + packageName - + " not found"); + throwException = true; } } catch (PackageManager.NameNotFoundException e) { - throw new IllegalArgumentException("package " + packageName + " not found"); + throwException = true; + } finally { + if (throwException) + throw new IllegalArgumentException("package " + packageName + " not found"); } requestPermissionDialog(device, accessory, canBeDefault, packageName, uid, mContext, pi);