summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/InstallPackageHelper.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index db0b0c58b046..54c201945be6 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -1607,6 +1607,13 @@ final class InstallPackageHelper {
+ oldSharedUid + " to " + newSharedUid);
}
+ // APK should not re-join shared UID
+ if (oldPackage.isLeavingSharedUid() && !parsedPackage.isLeavingSharedUid()) {
+ throw new PrepareFailure(INSTALL_FAILED_UID_CHANGED,
+ "Package " + parsedPackage.getPackageName()
+ + " attempting to rejoin " + newSharedUid);
+ }
+
// In case of rollback, remember per-user/profile install state
allUsers = mPm.mUserManager.getUserIds();
installedUsers = ps.queryInstalledUsers(allUsers, true);