diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-06-11 18:26:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-06-11 18:26:37 +0000 |
commit | 0c4f6fffd60c832d06cbbccfeac7b3f15d8a751e (patch) | |
tree | 5cbf9f1fa86f68dcbf57224c1c3b6af6a16b70f2 | |
parent | fc6707cfd3840a554caf06ed93124421b352bee3 (diff) | |
parent | 4c0218e8aaada338305e70f486af95134744b92c (diff) | |
download | base-0c4f6fffd60c832d06cbbccfeac7b3f15d8a751e.tar.gz |
Merge "Throw XmlParserException when client tag cannot be found when parsing slice permissions." into pie-dev
-rw-r--r-- | services/core/java/com/android/server/slice/SliceClientPermissions.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/slice/SliceClientPermissions.java b/services/core/java/com/android/server/slice/SliceClientPermissions.java index e461e0d43735..9562f2f8b339 100644 --- a/services/core/java/com/android/server/slice/SliceClientPermissions.java +++ b/services/core/java/com/android/server/slice/SliceClientPermissions.java @@ -160,6 +160,9 @@ public class SliceClientPermissions implements DirtyTracker, Persistable { // Get to the beginning of the provider. while (parser.getEventType() != XmlPullParser.START_TAG || !TAG_CLIENT.equals(parser.getName())) { + if (parser.getEventType() == XmlPullParser.END_DOCUMENT) { + throw new XmlPullParserException("Can't find client tag in xml"); + } parser.next(); } int depth = parser.getDepth(); @@ -173,6 +176,9 @@ public class SliceClientPermissions implements DirtyTracker, Persistable { parser.next(); while (parser.getDepth() > depth) { + if (parser.getEventType() == XmlPullParser.END_DOCUMENT) { + return provider; + } if (parser.getEventType() == XmlPullParser.START_TAG && TAG_AUTHORITY.equals(parser.getName())) { try { |