File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -899,6 +899,9 @@ proc checkRestart(state: var DecoderState) =
899899 if state.todoBeforeRestart <= 0 :
900900 if state.pos + 1 > state.len:
901901 failInvalid ()
902+ # Handle getting a restart marker right at the end.
903+ if state.buffer[state.pos] == 0x FF and state.buffer[state.pos+ 1 ] == 0x D9 :
904+ return
902905 if state.buffer[state.pos] != 0x FF or
903906 state.buffer[state.pos + 1 ] notin 0x D0 'u8 .. 0x D7 'u8 :
904907 failInvalid (" did not get expected restart marker" )
Original file line number Diff line number Diff line change @@ -45,4 +45,6 @@ const jpegSuiteFiles* = [
4545 " tests/fileformats/jpeg/masters/f6-exif.jpg" ,
4646 " tests/fileformats/jpeg/masters/f7-exif.jpg" ,
4747 " tests/fileformats/jpeg/masters/f8-exif.jpg" ,
48+
49+ " tests/fileformats/jpeg/masters/restartmarker.jpg" ,
4850]
You can’t perform that action at this time.
0 commit comments