Merge "MidiService: protect private service info" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-05-25 09:17:52 +00:00
committed by Android (Google) Code Review

View File

@@ -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;