From ad82a0fef52ac7967cfbe71b06b720a106b20102 Mon Sep 17 00:00:00 2001 From: Phil Burk Date: Thu, 15 Jul 2021 18:08:37 +0000 Subject: [PATCH] MidiService: synchronize mDeviceConnections Try to prevent a NullPointerException caused by scanning the array while devices were being removed by another thread. Bug: 193278370 Test: atest CtsMidiTestCases Change-Id: I8560cf6f39654037d5ccdc0f6922fa8bdb719c2f --- services/midi/java/com/android/server/midi/MidiService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index e31be82bcff7d..d0205ae24f85b 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -350,8 +350,10 @@ public class MidiService extends IMidiManager.Stub { } if (mDeviceConnections != null) { - for (DeviceConnection connection : mDeviceConnections) { - connection.notifyClient(server); + synchronized (mDeviceConnections) { + for (DeviceConnection connection : mDeviceConnections) { + connection.notifyClient(server); + } } } }