From 41f3fe806951bea3ebbbf376e532fa67115ba9fd Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 8 Dec 2017 17:52:09 -0800 Subject: [PATCH] Fix system crash in certain jobs-removed cases Null happens. Check for it before calling size(). Fixes: 69630116 Test: atest CtsJobSchedulerTestCases Change-Id: I17ec206946a6a21ff459e2e031cface5499f5264 --- services/core/java/com/android/server/job/JobStore.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/job/JobStore.java b/services/core/java/com/android/server/job/JobStore.java index 219bc6114c792..36cacd7a7d966 100644 --- a/services/core/java/com/android/server/job/JobStore.java +++ b/services/core/java/com/android/server/job/JobStore.java @@ -1149,8 +1149,10 @@ public final class JobStore { public void forEachJob(JobStatusFunctor functor) { for (int uidIndex = mJobs.size() - 1; uidIndex >= 0; uidIndex--) { ArraySet jobs = mJobs.valueAt(uidIndex); - for (int i = jobs.size() - 1; i >= 0; i--) { - functor.process(jobs.valueAt(i)); + if (jobs != null) { + for (int i = jobs.size() - 1; i >= 0; i--) { + functor.process(jobs.valueAt(i)); + } } } }