summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author JW Wang <wangchun@google.com> 2020-08-10 10:46:18 +0800
committer JW Wang <wangchun@google.com> 2020-08-12 01:19:27 +0000
commit271e922bb0dd8a5c9cf47d0bc66647e50c8b6d4a (patch)
tree7b58372781057e2dd010f36825ff1f0e5d793ce1
parent6ad4b33424d1add83e6ccdce053a8d3c53e9606f (diff)
Reject a multi-sessin set as APEX (1/n)
Prevent the crash loop in b/163288861#comment1. It doesn't make sense to set a multi-session to APEX at all. We should check and reject this case. Bug: 163288861 Test: N/A, will be added in next CL Change-Id: I23147837a11733b776b1147797b545b539c6c05a
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerService.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java
index 840645edcb82..8af74631fb2e 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -613,6 +613,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
throw new IllegalArgumentException(
"APEX files can only be installed as part of a staged session.");
}
+ if (params.isMultiPackage) {
+ throw new IllegalArgumentException("A multi-session can't be set as APEX.");
+ }
}
if (params.isStaged && !isCalledBySystemOrShell(callingUid)) {