From 058e7f2c0198a1e4036dd0b4de89cf815a0c1e68 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 17 Dec 2008 00:44:08 +0000 Subject: [PATCH] Fix #2478; deref of 0 pointer if jack_port_register fails. git-svn-id: svn://localhost/ardour2/branches/3.0@4328 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/midi++2/jack_midiport.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libs/midi++2/jack_midiport.cc b/libs/midi++2/jack_midiport.cc index 0464649989..5ebb55c325 100644 --- a/libs/midi++2/jack_midiport.cc +++ b/libs/midi++2/jack_midiport.cc @@ -243,7 +243,9 @@ JACK_MidiPort::create_ports(const XMLNode& node) _jack_output_port = jack_port_register(_jack_client, string(desc.tag).append("_out").c_str(), JACK_DEFAULT_MIDI_TYPE, JackPortIsOutput, 0); - jack_midi_clear_buffer(jack_port_get_buffer(_jack_output_port, nframes)); + if (_jack_output_port) { + jack_midi_clear_buffer(jack_port_get_buffer(_jack_output_port, nframes)); + } ret = ret && (_jack_output_port != NULL); } @@ -251,7 +253,9 @@ JACK_MidiPort::create_ports(const XMLNode& node) _jack_input_port = jack_port_register(_jack_client, string(desc.tag).append("_in").c_str(), JACK_DEFAULT_MIDI_TYPE, JackPortIsInput, 0); - jack_midi_clear_buffer(jack_port_get_buffer(_jack_input_port, nframes)); + if (_jack_input_port) { + jack_midi_clear_buffer(jack_port_get_buffer(_jack_input_port, nframes)); + } ret = ret && (_jack_input_port != NULL); }