Index: media/midi/midi_manager_usb.cc |
diff --git a/media/midi/midi_manager_usb.cc b/media/midi/midi_manager_usb.cc |
index fcefdf5a5222891d7bfd1e62a460df67afcdb011..63c241b9118683e813eb7f089334416c8661f260 100644 |
--- a/media/midi/midi_manager_usb.cc |
+++ b/media/midi/midi_manager_usb.cc |
@@ -43,7 +43,13 @@ void MidiManagerUsb::DispatchSendMidiData(MidiManagerClient* client, |
uint32_t port_index, |
const std::vector<uint8>& data, |
double timestamp) { |
- DCHECK_LT(port_index, output_streams_.size()); |
+ if (port_index >= output_streams_.size()) { |
+ // |port_index| is provided by a renderer so we can't believe that it is |
+ // in the valid range. |
+ // TODO(toyoshim): Move this check to MidiHost and kill the renderer when |
+ // it fails. |
+ return; |
+ } |
output_streams_[port_index]->Send(data); |
client->AccumulateMidiBytesSent(data.size()); |
} |