diff options
| author | 2023-06-20 21:05:13 +0800 | |
|---|---|---|
| committer | 2023-06-20 21:05:13 +0800 | |
| commit | 37fd8c29ffbe7653afb21cff088224d00d68cceb (patch) | |
| tree | 0b2d1831eefbc5adeaedd08e19ba2bc033a3b3e9 | |
| parent | 00e1235fc8629d5b17a742d1438ecf05b4a2d62e (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.java | 2 |
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 { |