diff options
| author | 2024-01-04 00:18:16 +0000 | |
|---|---|---|
| committer | 2024-01-29 15:55:33 +0000 | |
| commit | e336c7d7c9ceb49d934bbef0d27ecef344ad80ed (patch) | |
| tree | 10a1029a70a8e06e6cbff9d095770bbc23f1c4a9 | |
| parent | eee89b5a9f3c35ef0d1101debb039c7f080d33f6 (diff) | |
Stop marking apps as privileged if they are not signed properly.
Fixes: 311374917
Test: atest android.content.pm.cts.PackageManagerTest
Change-Id: I5b5b81cf43b06837a22c8dfd170a112106dd64c1
Merged-In: I5b5b81cf43b06837a22c8dfd170a112106dd64c1
(cherry picked from commit 3ee5dfdcba047051ce81dca0696d6ddfeafe2d98)
| -rw-r--r-- | services/core/java/com/android/server/pm/InstallPackageHelper.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index b541e33bde9e..52750e875c02 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -4373,7 +4373,9 @@ final class InstallPackageHelper { private void assertPackageWithSharedUserIdIsPrivileged(AndroidPackage pkg) throws PackageManagerException { - if (!pkg.isPrivileged() && (pkg.getSharedUserId() != null)) { + if (!pkg.isPrivileged() + && (pkg.getSharedUserId() != null) + && !pkg.isLeavingSharedUid()) { SharedUserSetting sharedUserSetting = null; try { sharedUserSetting = mPm.mSettings.getSharedUserLPw(pkg.getSharedUserId(), @@ -4407,7 +4409,8 @@ final class InstallPackageHelper { if (((scanFlags & SCAN_AS_PRIVILEGED) == 0) && !pkg.isPrivileged() && (pkg.getSharedUserId() != null) - && !skipVendorPrivilegeScan) { + && !skipVendorPrivilegeScan + && !pkg.isLeavingSharedUid()) { SharedUserSetting sharedUserSetting = null; synchronized (mPm.mLock) { try { |