Blob Blame History Raw
Index: jdhuff.c
===================================================================
--- jdhuff.c	(revision 520)
+++ jdhuff.c	(revision 521)
@@ -623,6 +623,7 @@
   if (val0 == 0xFF) {                                   \
     buffer++;                                           \
     if (val1 != 0) {                                    \
+      cinfo->unread_marker = val1;                      \
       buffer   -= 2;                                    \
       get_buffer      &= ~0xFF;                         \
     }                                                   \
@@ -739,6 +740,11 @@
     }
   }
 
+  if (cinfo->unread_marker != 0 && ! cinfo->entropy->insufficient_data) {
+    WARNMS(cinfo, JWRN_HIT_MARKER);
+    cinfo->entropy->insufficient_data = TRUE;
+  }
+
   br_state.bytes_in_buffer -= (buffer - br_state.next_input_byte);
   br_state.next_input_byte = buffer;
   BITREAD_SAVE_STATE(cinfo,entropy->bitstate);