Fix null pointer exception during initialization

PackageManagerService ctor calls
InitAndSystemPackageHelper.initPackages() to create the
OverlayConfig object, but this object is needed inside the
initPackages() call, when parsing an updated system overlay
in ScanPackageHelper.assertPackageIsValid() -> isOverlayMutable

This change uses the OverlayConfig's singleton accessor as a
backup when the member isn't set

Bug: 211469178
Test: install APK from the bug, reboot - no crashloop
Change-Id: I0d2b2fc1317db963980dbd1ca84dc61d2bfec5f5
This commit is contained in:
Yurii Zubrytskyi
2021-12-22 16:26:39 -08:00
parent 30afad009e
commit 35e226b0e7

View File

@@ -9490,7 +9490,8 @@ public class PackageManagerService extends IPackageManager.Stub
}
boolean isOverlayMutable(String packageName) {
return mOverlayConfig.isMutable(packageName);
return (mOverlayConfig != null ? mOverlayConfig
: OverlayConfig.getSystemInstance()).isMutable(packageName);
}
@ScanFlags int getSystemPackageScanFlags(File codePath) {