TurboJPEG: Add lossless JPEG detection capability
Add a new TurboJPEG C API function (tjDecompressHeader4()) and Java API method (TJDecompressor.getFlags()) that return the bitwise OR of any flags that are relevant to the JPEG image being decompressed (currently TJFLAG_PROGRESSIVE, TJFLAG_ARITHMETIC, TJFLAG_LOSSLESS, and their Java equivalents.) This allows a calling program to determine whether the image being decompressed is a lossless JPEG image, which means that the decompression scaling feature will not be available and that a full-sized destination buffer should be allocated. More specifically, this fixes a buffer overrun in TJBench, TJExample, and the decompress* fuzz targets that occurred when attempting (in vain) to decompress a lossless JPEG image with decompression scaling enabled.
This commit is contained in:
@@ -63,3 +63,9 @@ TURBOJPEG_2.0
|
||||
tjLoadImage;
|
||||
tjSaveImage;
|
||||
} TURBOJPEG_1.4;
|
||||
|
||||
TURBOJPEG_2.2
|
||||
{
|
||||
global:
|
||||
tjDecompressHeader4;
|
||||
} TURBOJPEG_2.0;
|
||||
|
||||
Reference in New Issue
Block a user