# Changes in TIFF v3.9.3

References
Current Version | v3.9.3 (tag Release-v3-9-3)
Previous Version | v3.9.2
Master Download Site | https://download.osgeo.org/libtiff/
Master HTTP Site | http://www.simplesystems.org/libtiff/

This document describes the changes made to the software between the previous and current versions (see above). If you don't find something listed here, then it was not done in this timeframe, or it was not considered important enough to be mentioned. The following information is located here:

## Major changes

- Fixes for CVE-2010-1411.

- Various reported bug fixes.

## Software configuration changes

- libtool is updated to version 2.2.10.

## Library changes

- Fix a couple of issues that trigger failures in some cases when using `TIFFReadScanline()` with JPEG compressed subsampled ycbcr images. MapTools bugzilla #1936

- Ensure tile and scanline sizes are reset when moving to new directories. MapTools bugzilla #1936

- Do not generate a `JPEGTables` tag when creating the JPEG TIFF as is is not required in order to prevent it from being unused and filled with invalid data. (Leave it to be generated by later activity.) MapTools bugzilla #2135

- Don't return error on badly-terminated MMR strips. MapTools bugzilla #2029

- Have `TIFFTAG_REFERENCEBLACKWHITE` always print 6 floats instead of `2*SamplesPerPixel`. MapTools bugzilla #2186

- Ensure that JPEG quality is always set in `JPEGPreEncode()`, not just when we want to output local tables. Otherwise the quality used during compression may not be right and might not match the tables in the tables tag. This bug only occurs when seeking between directories in the midst of writing blocks. GDAL trac #3539

- OJPEG: Report an error and avoid a crash if the input file is so broken that the strip offsets are not defined.

- Eliminate FAX3 decoder buffer overrun possibility (CVE-2010-1411).

- Restore `ReferenceBlackWhite` as a non-custom field. This avoids a multi-thread reentrancy problem as well as fixing output of wrong tag value due to redundant definitions for the same tag in the tiffFieldInfo[] array. Resolves MapTools bugzilla #2185

## Tools changes

- tiff2pdf: Write the JPEG SOI headers into the TIFF strip data rather than skipping them. This fixes the ability to view in Acrobat Reader, Evince, and Ghostscript. MapTools bugzilla #2135

- ppm2tiff: While case for parsing comment line requires extra parenthesis to work as expected. Reported by Thomas Sinclair.

- tiffcp: add a new option `-x` to force merged tiff file `PAGENUMBER` value in sequence for users who care the page sequence, this will also prevent tiff2pdf from creating pdf file from the merged tiff file with wrong page sequence.

- tiffcp: Applied Tom Lane's patch to reject YCbCr subsampled data since tiffcp currently doesn't support it. MapTools bugzilla #2097

## Contributed software changes

- None