From f160eeba94e5490d679cffff83589b0e6172b8e8 Mon Sep 17 00:00:00 2001 From: "gang.huang" Date: Sun, 3 Mar 2024 11:04:37 +0800 Subject: Catch IllegalArgumentException as it might indicate corrupted packages.xml Bug: 327803684 Test: Manual Merged-In: Icea3d175ae899413ee28b052086bd9f12a189aea Change-Id: Icea3d175ae899413ee28b052086bd9f12a189aea --- services/core/java/com/android/server/pm/Settings.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 677a5d11cc6b..e2f8c5071092 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -3194,12 +3194,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile } else if (tagName.equals("verifier")) { final String deviceIdentity = parser.getAttributeValue(null, "device"); - try { - mVerifierDeviceIdentity = VerifierDeviceIdentity.parse(deviceIdentity); - } catch (IllegalArgumentException e) { - Slog.w(PackageManagerService.TAG, "Discard invalid verifier device id: " - + e.getMessage()); - } + mVerifierDeviceIdentity = VerifierDeviceIdentity.parse(deviceIdentity); } else if (TAG_READ_EXTERNAL_STORAGE.equals(tagName)) { // No longer used. } else if (tagName.equals("keyset-settings")) { @@ -3228,7 +3223,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile } str.close(); - } catch (IOException | XmlPullParserException e) { + } catch (IOException | XmlPullParserException | IllegalArgumentException e) { // Remove corrupted file and retry. atomicFile.failRead(str, e); -- cgit v1.2.3-59-g8ed1b