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

Commit f7593344 authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Don't allow userID changes on upgrade

Changing userID's on upgrade lead to all sorts of bad behaviour, so,
don't allow it.

Bug: 28075981
Change-Id: I4861603f4607d7bd85fa24951a62a00dadd6eeec
parent 347bb9a3
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -13565,6 +13565,16 @@ public class PackageManagerService extends IPackageManager.Stub {
                }
            }
            // Check for shared user id changes
            String invalidPackageName =
                    getParentOrChildPackageChangedSharedUser(oldPackage, pkg);
            if (invalidPackageName != null) {
                res.setError(INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,
                        "Package " + invalidPackageName + " tried to change user "
                                + oldPackage.mSharedUserId);
                return;
            }
            // In case of rollback, remember per-user/profile install state
            allUsers = sUserManager.getUserIds();
@@ -13839,15 +13849,6 @@ public class PackageManagerService extends IPackageManager.Stub {
            setInstallAndUpdateTime(newPackage, deletedPkgSetting.firstInstallTime,
                    System.currentTimeMillis());
            // Check for shared user id changes
            String invalidPackageName = getParentOrChildPackageChangedSharedUser(
                    deletedPackage, newPackage);
            if (invalidPackageName != null) {
                res.setError(INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,
                        "Forbidding shared user change from " + deletedPkgSetting.sharedUser
                                + " to " + invalidPackageName);
            }
            // Update the package dynamic state if succeeded
            if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
                // Now that the install succeeded make sure we remove data