Merge "Create new instance of shared lineage signers to preserve capabilities" into sc-dev am: 71f64ff1ac
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15508291 Change-Id: I1090c0fc89ba68ff8c20411dd35d27692b560de0
This commit is contained in:
@@ -174,7 +174,16 @@ class PackageSignatures {
|
||||
if (index >= 0 && index < readSignatures.size()) {
|
||||
Signature sig = readSignatures.get(index);
|
||||
if (sig != null) {
|
||||
signatures.add(sig);
|
||||
// An app using a shared signature in its signing lineage
|
||||
// can have unique capabilities assigned to this previous
|
||||
// signer; create a new instance of this Signature to ensure
|
||||
// its flags do not overwrite those of the instance from
|
||||
// readSignatures.
|
||||
if (isPastSigs) {
|
||||
signatures.add(new Signature(sig));
|
||||
} else {
|
||||
signatures.add(sig);
|
||||
}
|
||||
signatureParsed = true;
|
||||
} else {
|
||||
PackageManagerService.reportSettingsProblem(Log.WARN,
|
||||
|
||||
Reference in New Issue
Block a user