Throw a warning if an unexpected marker is found in the middle of the JPEG data stream

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.0.x@524 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2011-03-18 05:49:26 +00:00
parent cce6b43463
commit fe6a2ee5a1
2 changed files with 10 additions and 0 deletions

View File

@@ -20,6 +20,10 @@ It also ensures that the library can avoid the performance pitfall created by
[4] Fixed visual artifacts in grayscale JPEG compression caused by a typo in
the RGB-to-chrominance lookup tables.
[5] Fixed the accelerated Huffman decoder so that it mimics the behavior of
the unaccelerated decoder and throws a warning if an unexpected marker is found
in the middle of the JPEG data stream.
1.0.1
=====

View File

@@ -621,6 +621,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; \
} \
@@ -737,6 +738,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);