From 857326e3731939f6ec7979e1d86585bf0ea484f4 Mon Sep 17 00:00:00 2001 From: Tony Mak Date: Thu, 14 Dec 2017 12:40:07 +0000 Subject: [PATCH] clearCallingIdentity before calling into getPackageUidAsUser Fix: 70585244 Bug: 69981755 Test: Enable any accessibility service -> inflate work profile -> Tap on any work app -> no longer crash Test: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.CrossProfileAppsHostSideTest.testPrimaryUserToManagedProfile Change-Id: I80d18f4e2ab76a228cb0aa2c8312c323a9b5c84d --- .../server/accessibility/AccessibilityManagerService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 15bf53fc4ce12..e81a971907968 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -3426,11 +3426,14 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { } private boolean isValidPackageForUid(String packageName, int uid) { + final long token = Binder.clearCallingIdentity(); try { return uid == mPackageManager.getPackageUid( packageName, UserHandle.getUserId(uid)); } catch (PackageManager.NameNotFoundException e) { return false; + } finally { + Binder.restoreCallingIdentity(token); } }