summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-06-11 00:55:38 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-06-11 00:55:38 +0000
commit4a487001b71846ce7ad74ffd19351e6042146b3f (patch)
tree5f739a77b62db3c8937e275549910d5f94866135
parentb14310b5effd8187d34f4cde75ac2edc7aa2026b (diff)
parent427f4f67a716d95ba337dccc5f6bc52596bc82cf (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.java6
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 {