From 796514a1b8c12400729a68430bf1b8cb604deb40 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Mon, 12 Jul 2021 12:30:41 -0400 Subject: [PATCH] Fix a potential NPE when allocating space for compressed apex Bug: 189369298 Test: th Merged-In: I9357be8021e77fc8c3839f15a4a53c2a3c63cb13 Change-Id: I9357be8021e77fc8c3839f15a4a53c2a3c63cb13 --- .../server/recoverysystem/RecoverySystemService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java b/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java index f72adb609f6fb..13218731af705 100644 --- a/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java +++ b/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java @@ -970,6 +970,12 @@ public class RecoverySystemService extends IRecoverySystem.Stub implements Reboo final long token = Binder.clearCallingIdentity(); try { CompressedApexInfoList apexInfoList = getCompressedApexInfoList(packageFile); + if (apexInfoList == null) { + Log.i(TAG, "apex_info.pb not present in OTA package. " + + "Assuming device doesn't support compressed" + + "APEX, continueing without allocating space."); + return true; + } ApexManager apexManager = ApexManager.getInstance(); apexManager.reserveSpaceForCompressedApex(apexInfoList); return true;