Skip to content

Commit 59e03b7

Browse files
committed
additional parser checking
1 parent db29102 commit 59e03b7

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/AppleMIDI_Defs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ enum parserReturn: uint8_t
3333
NotEnoughData,
3434
UnexpectedData,
3535
UnexpectedMidiData,
36+
UnexpectedJournalData,
3637
};
3738

3839
#if defined(__AVR__)

src/rtpMIDI_Parser.h

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,14 @@ class rtpMIDIParser
153153
if (midiCommandLength > 0)
154154
{
155155
auto retVal = decodeMidiSection(buffer);
156-
if (retVal != parserReturn::Processed)
156+
switch (retVal) {
157+
case parserReturn::Processed:
158+
break;
159+
case parserReturn::UnexpectedMidiData:
160+
_rtpHeadersComplete = false;
161+
default:
157162
return retVal;
163+
}
158164
}
159165

160166
// The payload MAY also contain a journal section. The journal section
@@ -165,8 +171,14 @@ class rtpMIDIParser
165171
if (rtpMidi_Flags & RTP_MIDI_CS_FLAG_J)
166172
{
167173
auto retVal = decodeJournalSection(buffer);
168-
if (retVal != parserReturn::Processed)
174+
switch (retVal) {
175+
case parserReturn::Processed:
176+
break;
177+
case parserReturn::UnexpectedJournalData:
178+
_rtpHeadersComplete = false;
179+
default:
169180
return retVal;
181+
}
170182
}
171183

172184
_rtpHeadersComplete = false;

0 commit comments

Comments
 (0)