Skip to content

Commit d784ce0

Browse files
committed
Check for null termination in ports array returned by jack_get_ports
Fixes #23.
1 parent 4c3755d commit d784ce0

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

RtMidi.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3067,15 +3067,17 @@ std::string MidiInJack :: getPortName( unsigned int portNumber )
30673067
return retStr;
30683068
}
30693069

3070-
if ( ports[portNumber] == NULL ) {
3070+
unsigned int i;
3071+
for (i=0; i<portNumber && ports[i]; i++) {}
3072+
if (i < portNumber || !ports[portNumber]) {
30713073
std::ostringstream ost;
30723074
ost << "MidiInJack::getPortName: the 'portNumber' argument (" << portNumber << ") is invalid.";
30733075
errorString_ = ost.str();
30743076
error( RtMidiError::WARNING, errorString_ );
30753077
}
30763078
else retStr.assign( ports[portNumber] );
30773079

3078-
free( ports );
3080+
jack_free( ports );
30793081
return retStr;
30803082
}
30813083

0 commit comments

Comments
 (0)