From c23e36b827a104f491ee9dd4717a3cfa26b5cb02 Mon Sep 17 00:00:00 2001 From: Jeongeun Song Date: Wed, 31 May 2023 17:03:06 +0900 Subject: Handle ArrayIndexOutOfBoundsException for install_sessions.xml When install_sessions.xml is corrupted, ArrayIndexOutOfBoundsException was thrown. It causes booting failure so catch it. Bug: 269072872 Test: Corrupt install_sessions.xml and reboot Change-Id: I99324e91a2da13bc86d62086aead40cc16cac60b --- services/core/java/com/android/server/pm/PackageInstallerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 6491fd1b1f98..a9115371413c 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -511,7 +511,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } } catch (FileNotFoundException e) { // Missing sessions are okay, probably first boot - } catch (IOException | XmlPullParserException e) { + } catch (IOException | XmlPullParserException | ArrayIndexOutOfBoundsException e) { Slog.wtf(TAG, "Failed reading install sessions", e); } finally { IoUtils.closeQuietly(fis); -- cgit v1.2.3-59-g8ed1b