aboutsummaryrefslogtreecommitdiff
path: root/jdhuff.c
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2011-03-18 05:44:27 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2011-03-18 05:44:27 +0000
commit8e7a7847d2cfcdefc08222aa01a39a5395d9ebc5 (patch)
tree9b70cc0f11673b822b97e42d660caa57a423817b /jdhuff.c
parent1005a848a27b8b9386e8f0a11812746427ce3c86 (diff)
Throw a warning if an unexpected marker is found in the middle of the JPEG data stream
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@522 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'jdhuff.c')
-rw-r--r--jdhuff.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/jdhuff.c b/jdhuff.c
index 58e3779..f6b6e00 100644
--- a/jdhuff.c
+++ b/jdhuff.c
@@ -623,6 +623,7 @@ decode_mcu_slow (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
if (val0 == 0xFF) { \
buffer++; \
if (val1 != 0) { \
+ cinfo->unread_marker = val1; \
buffer -= 2; \
get_buffer &= ~0xFF; \
} \
@@ -739,6 +740,11 @@ decode_mcu_fast (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
}
}
+ 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);