Handles null outInfo in deleteSystemPackageLI
This change adds null checks before accessing outInfo in
deleteSystemPackageLI.
Bug: 142083996
Bug: 141413692
Test: manual; remove static dependency on eng build and reboot
Change-Id: If0fd48343e89cbb77ccd25826656194195d5b0cd
(cherry picked from commit 1747101650)
Merged-In: If0fd48343e89cbb77ccd25826656194195d5b0cd
This commit is contained in:
committed by
Sterling Huber
parent
88c651eab1
commit
6afabce549
@@ -19283,7 +19283,8 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
* Tries to delete system package.
|
* Tries to delete system package.
|
||||||
*/
|
*/
|
||||||
private boolean deleteSystemPackageLIF(PackageParser.Package deletedPkg,
|
private boolean deleteSystemPackageLIF(PackageParser.Package deletedPkg,
|
||||||
PackageSetting deletedPs, int[] allUserHandles, int flags, PackageRemovedInfo outInfo,
|
PackageSetting deletedPs, int[] allUserHandles, int flags,
|
||||||
|
@Nullable PackageRemovedInfo outInfo,
|
||||||
boolean writeSettings) {
|
boolean writeSettings) {
|
||||||
if (deletedPs.parentPackageName != null) {
|
if (deletedPs.parentPackageName != null) {
|
||||||
Slog.w(TAG, "Attempt to delete child system package " + deletedPkg.packageName);
|
Slog.w(TAG, "Attempt to delete child system package " + deletedPkg.packageName);
|
||||||
@@ -19291,7 +19292,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
final boolean applyUserRestrictions
|
final boolean applyUserRestrictions
|
||||||
= (allUserHandles != null) && (outInfo.origUsers != null);
|
= (allUserHandles != null) && outInfo != null && (outInfo.origUsers != null);
|
||||||
final PackageSetting disabledPs;
|
final PackageSetting disabledPs;
|
||||||
// Confirm if the system package has been updated
|
// Confirm if the system package has been updated
|
||||||
// An updated system app can be deleted. This will also have to restore
|
// An updated system app can be deleted. This will also have to restore
|
||||||
@@ -19321,6 +19322,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (outInfo != null) {
|
||||||
// Delete the updated package
|
// Delete the updated package
|
||||||
outInfo.isRemovedPackageSystemUpdate = true;
|
outInfo.isRemovedPackageSystemUpdate = true;
|
||||||
if (outInfo.removedChildPackages != null) {
|
if (outInfo.removedChildPackages != null) {
|
||||||
@@ -19338,6 +19340,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (disabledPs.versionCode < deletedPs.versionCode) {
|
if (disabledPs.versionCode < deletedPs.versionCode) {
|
||||||
// Delete data for downgrades
|
// Delete data for downgrades
|
||||||
|
|||||||
Reference in New Issue
Block a user