From 56196aadd6d666d93a7233aadc3316ad74741ea4 Mon Sep 17 00:00:00 2001 From: alexbianchi Date: Mon, 15 Aug 2022 19:26:01 +0000 Subject: [PATCH] Fix Flexibility Tracker Dump Function Fixed out of bounds error caused by using the wrong size to loop through an ArraySet. Bug: 242181094 Test: Manual. Run `adb shell dumpsys jobscheduler` Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Test: atest CtsJobSchedulerTestCases Change-Id: I7ca5340f8f22b369f4a9d0807c8184f2f7018e85 --- .../android/server/job/controllers/FlexibilityController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java index e69cbedb955e6..921ef5e58909f 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java @@ -499,7 +499,7 @@ public final class FlexibilityController extends StateController { public void dump(IndentingPrintWriter pw, Predicate predicate) { for (int i = 0; i < mTrackedJobs.size(); i++) { ArraySet jobs = mTrackedJobs.get(i); - for (int j = 0; j < mTrackedJobs.size(); j++) { + for (int j = 0; j < jobs.size(); j++) { final JobStatus js = jobs.valueAt(j); if (!predicate.test(js)) { continue;