diff options
| author | 2020-06-11 00:55:38 +0000 | |
|---|---|---|
| committer | 2020-06-11 00:55:38 +0000 | |
| commit | 4a487001b71846ce7ad74ffd19351e6042146b3f (patch) | |
| tree | 5f739a77b62db3c8937e275549910d5f94866135 | |
| parent | b14310b5effd8187d34f4cde75ac2edc7aa2026b (diff) | |
| parent | 427f4f67a716d95ba337dccc5f6bc52596bc82cf (diff) | |
Merge "Throw XmlParserException when client tag cannot be found when parsing slice permissions." into rvc-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 ab94a59c4d9c..e241205cfb99 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 { |