summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-06-11 18:26:37 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-06-11 18:26:37 +0000
commit0c4f6fffd60c832d06cbbccfeac7b3f15d8a751e (patch)
tree5cbf9f1fa86f68dcbf57224c1c3b6af6a16b70f2
parentfc6707cfd3840a554caf06ed93124421b352bee3 (diff)
parent4c0218e8aaada338305e70f486af95134744b92c (diff)
downloadbase-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.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 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 {