Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4d930a4 authored by John Wu's avatar John Wu
Browse files

Block APK rejoining shared UID by dropping sharedUserMaxSdkVersion

Not only should the APK not change its sharedUserId declaration, it
shall also not be allowed to rejoin shared UID.

Test: atest SharedUserMigrationTest#testAppInstall
Bug: 221088088
Change-Id: I4b5d76179d9ed17d333f46b4dc4d7d12b470d130
parent 12dd1d67
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);