diff --git a/src/pixie/fileformats/jpeg.nim b/src/pixie/fileformats/jpeg.nim index 4d2268ee..be382cb8 100644 --- a/src/pixie/fileformats/jpeg.nim +++ b/src/pixie/fileformats/jpeg.nim @@ -39,7 +39,6 @@ const 0.uint32, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535 ] - jpegEndOfImage = 0xD9 type Huffman = object @@ -878,7 +877,8 @@ proc checkRestart(state: var DecoderState) = if state.todoBeforeRestart <= 0: if state.pos + 1 > state.len: failInvalid() - if state.buffer[state.pos] == 0xFF and state.buffer[state.pos+1] == jpegEndOfImage: + # Handle getting a restart marker right at the end. + if state.buffer[state.pos] == 0xFF and state.buffer[state.pos+1] == 0xD9: return if state.buffer[state.pos] != 0xFF or state.buffer[state.pos + 1] notin {0xD0 .. 0xD7}: