diff options
author | Christopher Tate <ctate@google.com> | 2013-10-22 16:45:51 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-22 16:45:51 -0700 |
commit | 037fa2489ff4d8646e4df67950fc93a80345d879 (patch) | |
tree | a802099ac0287a6c75cf3bc34eae59064ac37e11 /services/java/com/android/server/pm/PackageManagerService.java | |
parent | 004aa0714a1dbad33ee11c210edf7371e424b26b (diff) | |
parent | d34e1155226e8885d51c05209c7c87503528a2db (diff) |
am d34e1155: am 5f474fcb: Merge "Edge case: overriden system package moved & became privileged in OTA" into klp-dev
* commit 'd34e1155226e8885d51c05209c7c87503528a2db':
Edge case: overriden system package moved & became privileged in OTA
Diffstat (limited to 'services/java/com/android/server/pm/PackageManagerService.java')
-rwxr-xr-x | services/java/com/android/server/pm/PackageManagerService.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index fb533c65ce20..ca91fe617b56 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -3585,7 +3585,13 @@ public class PackageManagerService extends IPackageManager.Stub { + ps.name + " changing from " + updatedPkg.codePathString + " to " + scanFile); updatedPkg.codePath = scanFile; - updatedPkg.codePathString = scanFile.toString(); + updatedPkg.codePathString = scanFile.toString(); + // This is the point at which we know that the system-disk APK + // for this package has moved during a reboot (e.g. due to an OTA), + // so we need to reevaluate it for privilege policy. + if (locationIsPrivileged(scanFile)) { + updatedPkg.pkgFlags |= ApplicationInfo.FLAG_PRIVILEGED; + } } updatedPkg.pkg = pkg; mLastScanError = PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE; |