Null check before accessing mRemovedInfo in PMS

When a system APK removes sharedUserId after an OTA, PMS will crash as
it attempts to access mRemovedInfo. mRemovedInfo will not be set during
boot time, as package broadcasts are not sent for system image changes.

Bug: 229017590
Test: manual
Change-Id: I162675e79bec103420aa26522f164b7f72d7c43f
This commit is contained in:
John Wu
2022-04-12 22:50:20 +00:00
parent 39eb41b554
commit e4c314cd79

View File

@@ -266,8 +266,11 @@ final class InstallPackageHelper {
// Prune unused SharedUserSetting
if (mPm.mSettings.checkAndPruneSharedUserLPw(requestSharedUserSetting, false)) {
// Set the app ID in removed info for UID_REMOVED broadcasts
reconciledPkg.mInstallResult.mRemovedInfo.mRemovedAppId =
requestSharedUserSetting.mAppId;
if (reconciledPkg.mInstallResult != null
&& reconciledPkg.mInstallResult.mRemovedInfo != null) {
reconciledPkg.mInstallResult.mRemovedInfo.mRemovedAppId =
requestSharedUserSetting.mAppId;
}
}
}
}