From c25fbdec414f78341870cfac554121caf7521927 Mon Sep 17 00:00:00 2001 From: Todd Kennedy Date: Wed, 31 Aug 2016 15:54:48 -0700 Subject: [PATCH] Clear calling identity Before getting the package uid, need to clear the calling identity Change-Id: Id917288f5457baa7672d0355889a498bc9a92cb3 Fixes: 31058820 Test: cts-tradefed run commandAndExit cts --skip-connectivity-check --skip-device-info --disable-reboot -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testPackageInstallUserRestrictions --- .../android/server/pm/PackageInstallerSession.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 583128444cfca..0b8a347991662 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -44,6 +44,7 @@ import android.content.pm.PackageParser.ApkLite; import android.content.pm.PackageParser.PackageLite; import android.content.pm.PackageParser.PackageParserException; import android.content.pm.Signature; +import android.os.Binder; import android.os.Bundle; import android.os.FileBridge; import android.os.FileUtils; @@ -271,9 +272,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } else { mPermissionsAccepted = false; } - final int uid = mPm.getPackageUid(PackageManagerService.DEFAULT_CONTAINER_PACKAGE, - PackageManager.MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM); - defaultContainerGid = UserHandle.getSharedAppGid(uid); + final long identity = Binder.clearCallingIdentity(); + try { + final int uid = mPm.getPackageUid(PackageManagerService.DEFAULT_CONTAINER_PACKAGE, + PackageManager.MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM); + defaultContainerGid = UserHandle.getSharedAppGid(uid); + } finally { + Binder.restoreCallingIdentity(identity); + } } public SessionInfo generateInfo() {