summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2016-09-01 00:41:47 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-09-01 00:41:49 +0000
commit072abeac5711e19e23c53354877e56eaf5c0526d (patch)
tree6de4b633f985da156e931a6b2381957ec0b6054b
parentd0bc92e4354ed95e5f0f2bb771109864489d6e06 (diff)
parentc25fbdec414f78341870cfac554121caf7521927 (diff)
Merge "Clear calling identity" into nyc-mr1-dev
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerSession.java12
1 files 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 583128444cfc..0b8a34799166 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() {