diff options
author | Evan Severson <evanseverson@google.com> | 2023-09-08 14:47:51 -0700 |
---|---|---|
committer | Evan Severson <evanseverson@google.com> | 2023-09-08 15:26:45 -0700 |
commit | acc52962f1fd832de2ca58d2504ba82e6f5294e8 (patch) | |
tree | ae6f7b39c80b93f624470761801d6d2b2c323fae /PermissionController/src/com/android/permissioncontroller/permission | |
parent | 77732f84922009259c16bc4f5f293ba36d18a01c (diff) | |
download | Permission-acc52962f1fd832de2ca58d2504ba82e6f5294e8.tar.gz |
[BackupHelper] Break the loop when END_DOCUMENT is reached
`skipToEndOfTag` does not consider the case END_DOCUMENT when calling
parser.next(); this causes an infinite loop. `skipToEndOfTag` is reached
because we catch an exception due to a corrupted file causing an
unexpected EOF and just continue to try to parse the file.
Relnote: Break out of loop in during restore at END_DOCUMENT
Bug: 299676312
Test: Push corrupted file force delayed restore by installing
Change-Id: I3eed0447cee8205c1db0d6b3f103938a4a4bdc07
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java b/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java index 9082b6931..bea110f70 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java @@ -136,8 +136,8 @@ public class BackupHelper { case END_TAG: numOpenTags--; break; - default: - // ignore + case END_DOCUMENT: + return; } } } |