diff options
-rw-r--r-- | services/midi/java/com/android/server/midi/MidiService.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index 47505a398a6f..e31be82bcff7 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -43,6 +43,7 @@ import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.os.UserHandle; +import android.util.EventLog; import android.util.Log; import com.android.internal.content.PackageMonitor; @@ -736,13 +737,19 @@ public class MidiService extends IMidiManager.Stub { @Override public MidiDeviceInfo getServiceDeviceInfo(String packageName, String className) { + int uid = Binder.getCallingUid(); synchronized (mDevicesByInfo) { for (Device device : mDevicesByInfo.values()) { ServiceInfo serviceInfo = device.getServiceInfo(); if (serviceInfo != null && packageName.equals(serviceInfo.packageName) && className.equals(serviceInfo.name)) { - return device.getDeviceInfo(); + if (device.isUidAllowed(uid)) { + return device.getDeviceInfo(); + } else { + EventLog.writeEvent(0x534e4554, "185796676", -1, ""); + return null; + } } } return null; |