summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Luntao Wang <wangluntao@xiaomi.corp-partner.google.com> 2023-06-20 21:05:13 +0800
committer Luntao Wang <wangluntao@xiaomi.corp-partner.google.com> 2023-06-20 21:05:13 +0800
commit37fd8c29ffbe7653afb21cff088224d00d68cceb (patch)
tree0b2d1831eefbc5adeaedd08e19ba2bc033a3b3e9
parent00e1235fc8629d5b17a742d1438ecf05b4a2d62e (diff)
[Bugfix] Fix array out of bounds.
Problem: JE caused by multi-threaded operation of WindowList. Solution: Lock to prevent array out of bounds. Bug: 288065262 Test: Manual && Monkey Test Change-Id: Idd58f5c74444e93758f89133779f2076f95f1725
-rw-r--r--services/core/java/com/android/server/wm/TaskPersister.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/TaskPersister.java b/services/core/java/com/android/server/wm/TaskPersister.java
index 09fd90030f0c..d28fe2bea98c 100644
--- a/services/core/java/com/android/server/wm/TaskPersister.java
+++ b/services/core/java/com/android/server/wm/TaskPersister.java
@@ -549,8 +549,8 @@ public class TaskPersister implements PersisterQueue.Listener {
// Write out one task.
byte[] data = null;
Task task = mTask;
- if (DEBUG) Slog.d(TAG, "Writing task=" + task);
synchronized (mService.mGlobalLock) {
+ if (DEBUG) Slog.d(TAG, "Writing task=" + task);
if (task.inRecents) {
// Still there.
try {