From 8ff9d439a04a4bcc24b37a1e95a0b1f28cb84a41 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 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 ed4a7bf107d1f..1b4e36b6c4646 100644 --- a/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java +++ b/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java @@ -968,6 +968,12 @@ public class RecoverySystemService extends IRecoverySystem.Stub implements Reboo } 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;