Unset INSTALL_DISABLE_VERIFICATION flag if install is not from system
Bug: 138650665 Test: pushed manual privapp that attempts an install with INSTALL_DISABLE_VERIFICATION flag. Checked that PackageVerifier was called. Change-Id: I041d2e5f6d2609bfe9475f24eefb936f0c8e2a32 Merged-In: I041d2e5f6d2609bfe9475f24eefb936f0c8e2a32
This commit is contained in:
@@ -505,6 +505,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
|
|||||||
params.installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE;
|
params.installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (callingUid != Process.SYSTEM_UID) {
|
||||||
|
// Only system_server can use INSTALL_DISABLE_VERIFICATION.
|
||||||
|
params.installFlags &= ~PackageManager.INSTALL_DISABLE_VERIFICATION;
|
||||||
|
}
|
||||||
|
|
||||||
boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0;
|
boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0;
|
||||||
if (params.isStaged || isApex) {
|
if (params.isStaged || isApex) {
|
||||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.INSTALL_PACKAGES, TAG);
|
mContext.enforceCallingOrSelfPermission(Manifest.permission.INSTALL_PACKAGES, TAG);
|
||||||
|
|||||||
Reference in New Issue
Block a user