]> granicus.if.org Git - libjpeg-turbo/commit
Fix a bug in the 64-bit Huffman encoder that Google discovered when encoding some...
authorDRC <dcommander@users.sourceforge.net>
Wed, 6 May 2015 22:41:12 +0000 (22:41 +0000)
committerDRC <dcommander@users.sourceforge.net>
Wed, 6 May 2015 22:41:12 +0000 (22:41 +0000)
commita8b6ea2f8d51f2bd89b805ffd5f95b68ffae234e
tree9aad78c29ee4eefc746565005f21c7123be0a94a
parent96869f4b6ef520bc6e0c54127f583dcc96ecd91e
Fix a bug in the 64-bit Huffman encoder that Google discovered when encoding some very specific (and proprietary) aerial images using quality=98, an optimized Huffman table, and the ISLOW DCT.  These images were causing the Huffman bit buffer to overflow, because the code for encoding the DC coefficient was using the equivalent of the 32-bit version of EMIT_BITS().  Thus, when 64-bit code was used, the DC coefficient code was not properly checking how many bits were in the buffer before attempting to add more bits to it.  This issue appears to have existed in all versions of libjpeg-turbo.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1547 632fc199-4ca6-4c93-a231-07263d6284db
ChangeLog.txt
jchuff.c