From 9c5f71f364809a7dbde2b352c3e50d13fc33c17f Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Mon, 19 Apr 2021 21:16:23 +0000 Subject: [PATCH] PersistableBundle.restoreFromXml should return a mutable bundle. Issue: Currently, restoreFromXml/readFromStream returns an immutable PersistableBundle.EMPTY when the underlying XML file is ill-formatted. Otherwise it returns a mutable one. This inconsistent behavior easily causes crash when returned PersistableBundle is mutated. Fix: Make restoreFromXml consistently return a mutable PersistableBundle. Bug: 185436202 Test: make Change-Id: I3c9ab4df9f0fea2d46d1c9b72ffd4b65790180b2 --- core/java/android/os/PersistableBundle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java index 7a837e167fb06..339371b5047c2 100644 --- a/core/java/android/os/PersistableBundle.java +++ b/core/java/android/os/PersistableBundle.java @@ -302,7 +302,7 @@ public final class PersistableBundle extends BaseBundle implements Cloneable, Pa new MyReadMapCallback())); } } - return EMPTY; + return new PersistableBundle(); // An empty mutable PersistableBundle } @Override