Changelog for libtiff5-4.0.9-136.1.x86_64.rpm :
Tue Feb 20 13:00:00 2018
- bsc#1081690: Add tiff-4.0.9-bsc1081690-CVE-2018-5784.patch
Fix uncontrolled resource consumption in TIFFSetDirectory

Fri Feb 16 13:00:00 2018
- bsc#1046077: Add tiff-4.0.9-bsc1046077-CVE-2017-9935.patch
Fix Heap-based buffer overflow in t2p_write_pdf

Thu Dec 21 13:00:00 2017
- Fix check section:
+ Make sure to get back to the right directory after chdir to
\'tools\', or we can\'t run the 2nd test suite.
+ Fix typo: the tests are located in a directory called \'test\',
not \'tests\'.

Wed Nov 29 13:00:00 2017
- Upgrade to upstream release 4.0.9

* Changes in the software configuration:
+ test/ Add some tests for tiff2bw.
+ .appveyor.yml, .travis.yml, build/travis-ci: apply patches
0001-ci-Travis-script-improvements.patch and
0002-ci-Invoke-helper-script-via-shell.patch by Roger Leigh
+ .travis.yml, build/travis-ci: new files from
by Roger Leigh. This patch adds support for the Travis-CI
+ .appveyor.yml: new file from
0002-ci-Add-AppVeyor-support.patch by Roger Leigh (sent to
mailing list on 2017-06-08) This patch adds a .appveyor.yml
file to the top-level. This allows one to opt in to having a
branch built on Windows with Cygwin, MinGW and MSVC
automatically when a branch is pushed to GitHub, GitLab,
BitBucket or any other supported git hosting service.
+ CMakeLists.txt, test/CMakeLists.txt,
test/TiffTestCommon.cmake: apply patch
0001-cmake-Improve-Cygwin-and-MingGW-test-support.patch from
Roger Leigh. This patch makes the CMake build system support
running the tests with MinGW or Cygwin.
+ test/, test/images/quad-lzw-compat.tiff:
new files to test old-style LZW decompression
+ test/,, CMakeList.txt: updated with above
+ test/ add missing reference to
images/quad-lzw-compat.tiff to fix \"make distcheck\". Patch by
Roger Leigh
+ nmake.opt: support a DEBUG=1 option, so as to adjust OPTFLAGS
and use /MDd runtime in debug mode.

* Changes in libtiff:
+ libtiff/tif_color.c: TIFFYCbCrToRGBInit(): stricter clamping
to avoid int32 overflow in TIFFYCbCrtoRGB(). Fixes
+ libtiff/tif_getimage.c: initYCbCrConversion(): stricter
validation for refBlackWhite coefficients values. To avoid
invalid float->int32 conversion (when refBlackWhite[0] ==
2147483648.f) Fixes
+ libtiff/tif_dirinfo.c, tif_dirread.c: add
_TIFFCheckFieldIsValidForCodec(), and use it in
TIFFReadDirectory() so as to ignore fields whose tag is a
codec-specified tag but this codec is not enabled. This avoids
TIFFGetField() to behave differently depending on whether the
codec is enabled or not, and thus can avoid stack based buffer
overflows in a number of TIFF utilities such as tiffsplit,
tiffcmp, thumbnail, etc. Patch derived from
( by Raphaƫl
(CVE-2016-10095, bsc#1017690)
(CVE-2015-7554, bsc#960341)
(CVE-2016-5318, bsc#983436)
(CVE-2014-8128, bsc#969783)
+ libtiff/tif_swab.c: if DISABLE_CHECK_TIFFSWABMACROS is
defined, do not do the #ifdef TIFFSwabXXX checks. Make it
easier for GDAL to rename the symbols of its internal libtiff
+ libtiff/tif_dirread.c: fix regression of libtiff 4.0.8 in
ChopUpSingleUncompressedStrip() regarding update of newly
single-strip uncompressed files whose bytecount is 0. Before
the change of 2016-12-03, the condition bytecount==0 used to
trigger an early exit/disabling of strip chop. Re-introduce
that in update mode. Otherwise this cause later incorrect
setting for the value of StripByCounts/StripOffsets.
+ libtiff/tif_dirread.c: TIFFFetchStripThing(): limit the
number of items read in StripOffsets/StripByteCounts tags to
the number of strips to avoid excessive memory allocation.
+ libtiff/tif_getimage.c: avoid many (harmless) unsigned int
+ libtiff/tif_fax3.c: avoid unsigned int overflow in
Fax3Encode2DRow(). Could potentially be a bug with huge rows.
+ libtiff/tif_jpeg.c: avoid (harmless) unsigned int overflow on
tiled images.
+ libtiff/tif_dirread.c: avoid unsigned int overflow in
EstimateStripByteCounts() and BYTECOUNTLOOKSBAD when file is
too short.
+ libtiff/tif_predict.c: decorate legitimate functions where
unsigned int overflow occur with
+ libtiff/tif_dirread.c: avoid unsigned int overflow in
macro to disable CLang warnings raised by
- fsanitize=undefined,unsigned-integer-overflow
+ libtiff/tif_jpeg.c: add anti-denial of service measure to
avoid excessive CPU consumption on progressive JPEGs with a
huge number of scans. See
Note: only affects libtiff since 2014-12-29 where support of
non-baseline JPEG was added.
+ libtiff/tif_jpeg.c: error out at decoding time if anticipated
libjpeg memory allocation is above 100 MB. libjpeg in case of
multiple scans, which is allowed even in baseline JPEG, if
components are spread over several scans and not
interleavedin a single one, needs to allocate memory (or
backing store) for the whole strip/tile. See
This limitation may be overriden by setting the
recompiling libtiff with a custom value of
+ libtiff/tif_jbig.c: fix memory leak in error code path of
(CVE-2017-9936, bsc#1046073)
+ libtiff/tif_dirread.c: in TIFFReadDirEntryFloat(), check that
a double value can fit in a float before casting.
+ libtiff/tiffiop.h, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c,
libtiff/tif_read.c: make TIFFReadScanline() works in
CHUNKY_STRIP_READ_SUPPORT mode with JPEG stream with multiple
scans. Also make configurable through a
maximum number of scans allowed. Defaults to 100.
+ libtiff/tif_read.c: TIFFFillTile(): add limitation to the
number of bytes read in case td_stripbytecount[strip] is
bigger than reasonable, so as to avoid excessive memory
allocation (similarly to what was done for TIFFFileStrip() on
+ libtiff/tif_getimage.c: use
_TIFFReadEncodedStripAndAllocBuffer(). Fixes and
+ libtiff/tif_read.c, tiffiop.h: add a
_TIFFReadEncodedStripAndAllocBuffer() function, variant of
TIFFReadEncodedStrip() that allocates the decoded buffer only
after a first successful TIFFFillStrip(). This avoids
excessive memory allocation on corrupted files.
+ libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX()
functions associated with LONG8/SLONG8 data type, replace
assertion that the file is BigTIFF, by a non-fatal error.
+ libtiff/tif_read.c: TIFFStartTile(): set tif_rawcc to
tif_rawdataloaded when it is set. Similarly to
TIFFStartStrip(). This issue was revealed by the change of
2017-06-30 in TIFFFileTile(), limiting the number of bytes
read. But it could probably have been hit too in
CHUNKY_STRIP_READ_SUPPORT mode previously. Fixes
+ libtiff/tif_error.c, tif_warning.c: correctly use va_list
when both an old-style and new-style warning/error handlers
are installed. Patch by Paavo Helde (sent on the mailing list)
+ libtiff/tif_getimage.c: use _TIFFReadTileAndAllocBuffer().
+ libtiff/tif_read.c, tiffiop.h: add a
_TIFFReadEncodedTileAndAllocBuffer() and
_TIFFReadTileAndAllocBuffer() variants of
TIFFReadEncodedTile() and TIFFReadTile() that allocates the
decoded buffer only after a first successful TIFFFillTile().
This avoids excessive memory allocation on corrupted files.
+ libtiff/tif_pixarlog.c: avoid excessive memory allocation on
decoding when RowsPerStrip tag is not defined (and thus
td_rowsperstrip == UINT_MAX) Fixes
+ libtiff/tif_lzw.c: fix 4.0.8 regression in the decoding of
old-style LZW compressed files.
+ libtiff/tif_lzw.c: fix potential out-of-buffer read on 1-byte
LZW strips. Crashing issue only on memory mapped files, where
the strip offset is the last byte of the file, and the file
size is a multiple of one page size on the CPU architecture
(typically 4096)
+ libtiff/tif_dir.c: avoid potential null pointer dereference
in _TIFFVGetField() on corrupted TIFFTAG_NUMBEROFINKS tag
+ tools/tiff2pdf.c: prevent heap buffer overflow write in \"Raw\"
mode on PlanarConfig=Contig input images. Fixes
+ libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile().
Complementary fix for in the
isMapped() case, so as to avoid excessive memory allocation
when we need a temporary buffer but the file is truncated.
+ libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the
arrays that hold StripOffsets/StripByteCounts, when they are
smaller than the expected number of striles, up to 1 million
striles, and error out beyond. Can be tweaked by setting the
This partially goes against a change added on 2002-12-17 to
accept those arrays of wrong sizes, but is needed to avoid
denial of services. Fixes
+ libtiff/tif_read.c: add protection against excessive memory
allocation attempts in TIFFReadDirEntryArray() on short files.
Effective for mmap\'ed case. And non-mmap\'ed case, but
restricted to 64bit builds. Fixes
+ libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory
allocation when RowsPerStrip tag is missing. Fixes
+ libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate():
properly break from loops on error when stoponerr is set,
instead of going on iterating on row based loop.
+ libtiff/tif_getimage.c: fix fromskew computation when
to-be-skipped pixel number is not a multiple of the horizontal
subsampling, and also in some other cases. Impact
putcontig8bitYCbCr44tile, putcontig8bitYCbCr42tile,
putcontig8bitYCbCr41tile, putcontig8bitYCbCr21tile and
putcontig8bitYCbCr12tile Fixes and
+ libtiff/tif_luv.c: further reduce memory requirements for
temporary buffer when RowsPerStrip >= image_length in
LogLuvInitState() and LogL16InitState(). Fixes
+ libtiff/tif_dirwrite.c: replace assertion related to not
finding the SubIFD tag by runtime check (in
TIFFWriteDirectorySec()) Fixes
+ libtiff/tif_dirwrite.c: replace assertion to tag value not
fitting on uint32 when selecting the value of SubIFD tag by
runtime check (in TIFFWriteDirectoryTagSubifd()). Fixes
+ libtiff/tif_jpeg.c: accept reading the last strip of a JPEG
compressed file if the codestream height is larger than the
truncated height of the strip. Emit a warning in this
situation since this is non compliant.
+ libtiff/tiffiop.h, tif_aux.c: redirect SeekOK() macro to a
_TIFFSeekoK() function that checks if the offset is not
bigger than INT64_MAX, so as to avoid a -1 error return code
of TIFFSeekFile() to match a required seek to UINT64_MAX/-1.
+ libtiff/tif_dirread.c: add NULL check to avoid likely false
positive null-pointer dereference warning by CLang Static
+ libtiff/libtiff.def: add TIFFReadRGBAStripExt and
TIFFReadRGBATileExt Fixes
+ libtiff/tif_jpeg.c: add compatibility with libjpeg-turbo
1.5.2 that honours max_memory_to_use > 0. Cf
+ libtiff/tif_getimage.c: avoid floating point division by zero
in initCIELabConversion() Fixes

* Changes in the tools:
+ tools/tiff2pdf.c: prevent heap buffer overflow write in \"Raw\"
mode on PlanarConfig=Contig input images. Fixes
+ tools/tiffset.c: fix setting a single value for the
ExtraSamples tag (and other tags with variable number of
values). So \'tiffset -s ExtraSamples 1 X\'. This only worked
when setting 2 or more values, but not just one.
+ tools/fax2tiff.c (_FAX_Client_Data): Pass FAX_Client_Data as
the client data. This client data is not used at all at the
moment, but it makes the most sense. Issue that the value of
client_data.fd was passed where a pointer is expected.
+ tools/tiff2pdf.c (t2p_sample_realize_palette): Fix possible
arithmetic overflow in bounds checking code and eliminate
comparison between signed and unsigned type.
+ tools/tiff2bw.c (main): Free memory allocated in the tiff2bw
program. This is in response to the report associated with
CVE-2017-16232, bsc#1069213 but does not solve the extremely
high memory usage with the associated POC file.

Tue Jun 20 14:00:00 2017
- Upgrade to upstream release 4.0.8

* libtiff/tif_getimage.c, libtiff/tif_open.c
+ add parenthesis to fix cppcheck clarifyCalculation warnings

* libtiff/tif_predict.c, libtiff/tif_print.c
+ fix printf unsigned vs signed formatting (cppcheck
invalidPrintfArgType_uint warnings)

* libtiff/tif_read.c, libtiff/tiffiop.h
+ fix uint32 overflow in TIFFReadEncodedStrip() that caused an
integer division by zero. Reported by Agostino Sarubbo.

* libtiff/tif_pixarlog.c, libtiff/tif_luv.c
+ fix heap-based buffer overflow on generation of PixarLog / LUV
compressed files, with ColorMap, TransferFunction attached and
nasty plays with bitspersample. The fix for LUV has not been
tested, but suffers from the same kind of issue of PixarLog.
Reported by Agostino Sarubbo.

* libtiff/tif_strip.c
+ revert the change in TIFFNumberOfStrips() done for /
CVE-2016-9273 since the above change is a better fix that
makes it unnecessary.

* libtiff/tif_dirread.c
+ modify ChopUpSingleUncompressedStrip() to instanciate compute
ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip),
instead of a logic based on the total size of data. Which is
faulty is the total size of data is not sufficient to fill the
whole image, and thus results in reading outside of the
StripByCounts/StripOffsets arrays when using
TIFFReadScanline(). Reported by Agostino Sarubbo.

* libtiff/tif_ojpeg.c
+ make OJPEGDecode() early exit in case of failure in
OJPEGPreDecode(). This will avoid a divide by zero, and
potential other issues. Reported by Agostino Sarubbo.

* libtiff/tif_write.c
+ fix misleading indentation as warned by GCC.

* libtiff/tif_fax3.h
+ revert change done on 2016-01-09 that made Param member of
TIFFFaxTabEnt structure a uint16 to reduce size of the
binary. It happens that the Hylafax software uses the tables
that follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable,
TIFFFaxBlackTable), although they are not in a public libtiff
header. Raised by Lee Howard.

* libtiff/tiffio.h, libtiff/tif_getimage.c
+ add TIFFReadRGBAStripExt() and TIFFReadRGBATileExt() variants
of the functions without ext, with an extra argument to control
the stop_on_error behaviour.

* libtiff/tif_getimage.c
+ fix potential memory leaks in error code path of

* libtiff/tif_jpeg.c
+ increase libjpeg max memory usable to 10 MB instead of libjpeg
1MB default. This helps when creating files with \"big\" tile,
without using libjpeg temporary files.
Related to

* libtiff/tif_jpeg.c
+ avoid integer division by zero in JPEGSetupEncode() when
horizontal or vertical sampling is set to 0.
bsc#1033127, CVE-2017-7595

* libtiff/tif_dirwrite.c
+ in TIFFWriteDirectoryTagCheckedRational, replace assertion by
runtime check to error out if passed value is strictly
bsc#1038438, CVE-2016-10371

* libtiff/tif_dirread.c
+ avoid division by floating point 0 in
TIFFReadDirEntryCheckedRational() and
TIFFReadDirEntryCheckedSrational(), and return 0 in that case
(instead of infinity as before presumably) Apparently some
sanitizers do not like those divisions by zero.
bsc#1033118, CVE-2017-7598

* libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c
+ implement various clampings of double to other data types to
avoid undefined behaviour if the output range isn\'t big enough
to hold the input value.
bsc#1033126, CVE-2017-7596, bsc#1033120, CVE-2017-7597,
bsc#1033113, CVE-2017-7599, bsc#1033112, CVE-2017-7600,

* libtiff/tif_jpeg.c
+ validate BitsPerSample in JPEGSetupEncode() to avoid undefined
behaviour caused by invalid shift exponent.
bsc#1033111, CVE-2017-7601

* libtiff/tif_read.c
+ avoid potential undefined behaviour on signed integer addition
in TIFFReadRawStrip1() in isMapped() case.
bsc#1033109, CVE-2017-7602

* libtiff/tif_getimage.c
+ add explicit uint32 cast in putagreytile to avoid
UndefinedBehaviorSanitizer warning. Patch by Nicolas Pena.
bsc#1033131, CVE-2017-7592

* libtiff/tif_read.c
+ TIFFReadBufferSetup(): use _TIFFcalloc() to zero initialize
bsc#1033129, CVE-2017-7593

* libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c
+ add _TIFFcalloc()

* libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c
+ return 0 in Encode functions instead of -1 when
TIFFFlushData1() fails.

* libtiff/tif_ojpeg.c
+ fix leak in OJPEGReadHeaderInfoSecTablesQTable,
OJPEGReadHeaderInfoSecTablesDcTable and
OJPEGReadHeaderInfoSecTablesAcTable when read fails. Patch by
Nicolas Pena.
bsc#1033128, CVE-2017-7594

* libtiff/tif_jpeg.c
+ only run JPEGFixupTagsSubsampling() if the YCbCrSubsampling
tag is not explicitly present. This helps a bit to reduce the
I/O amount when the tag is present (especially on cloud hosted

* libtiff/tif_lzw.c
+ in LZWPostEncode(), increase, if necessary, the code bit-width
after flushing the remaining code and before emitting the EOI
code. Fixes

* libtiff/tif_pixarlog.c
+ fix memory leak in error code path of PixarLogSetupDecode().
Patch by Nicolas Pena.

* libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c
+ fix GCC 7 -Wimplicit-fallthrough warnings.

* libtiff/tif_dirread.c
+ fix memory leak in non DEFER_STRILE_LOAD mode (ie default)
when there is both a StripOffsets and TileOffsets tag, or a
StripByteCounts and TileByteCounts
bsc#1042805, CVE-2017-9403)

* libtiff/tif_ojpeg.c
+ fix potential memory leak in
OJPEGReadHeaderInfoSecTablesDcTable and
Patch by Nicolas Pena.

* libtiff/tif_fax3.c
+ avoid crash in Fax3Close() on empty file. Patch by Alan
Coopersmith + complement by myself.

* libtiff/tif_read.c
+ TIFFFillStrip(): add limitation to the number of bytes read
in case td_stripbytecount[strip] is bigger than reasonable,
so as to avoid excessive memory allocation.

* libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c
+ fix memory leak when the underlying codec (ZIP, PixarLog)
succeeds its setupdecode() method, but PredictorSetup fails.
Credit to OSS-Fuzz (locally run, on GDAL)

* libtiff/tif_read.c
+ TIFFFillStrip() and TIFFFillTile(): avoid excessive memory
allocation in case of shorten files. Only effective on 64 bit
builds and non-mapped cases.
Credit to OSS-Fuzz (locally run, on GDAL)

* libtiff/tif_read.c
+ TIFFFillStripPartial() / TIFFSeek(), avoid potential integer
overflows with read_ahead in CHUNKY_STRIP_READ_SUPPORT mode.
Should especially occur on 32 bit platforms.

* libtiff/tif_read.c
+ TIFFFillStripPartial()
+ avoid excessive memory allocation in case of shorten files.
Only effective on 64 bit builds.
Credit to OSS-Fuzz (locally run, on GDAL)

* libtiff/tif_read.c
+ update tif_rawcc in CHUNKY_STRIP_READ_SUPPORT mode with
tif_rawdataloaded when calling TIFFStartStrip() or
TIFFFillStripPartial(). This avoids reading beyond tif_rawdata
when bytecount > tif_rawdatasize. Fixes
Credit to OSS-Fuzz

* libtiff/tif_color.c
+ avoid potential int32 overflow in TIFFYCbCrToRGBInit() Fixes
Credit to OSS-Fuzz

* libtiff/tif_pixarlog.c, tif_luv.c
+ avoid potential int32 overflows in multiply_ms() and add_ms().
Credit to OSS-Fuzz

* libtiff/tif_packbits.c
+ fix out-of-buffer read in PackBitsDecode() Fixes
Credit to OSS-Fuzz

* libtiff/tif_luv.c
+ LogL16InitState(): avoid excessive memory allocation when
RowsPerStrip tag is missing.
Credit to OSS-Fuzz (locally run, on GDAL)

* libtiff/tif_lzw.c
+ update dec_bitsleft at beginning of LZWDecode(), and update
tif_rawcc at end of LZWDecode(). This is needed to properly
work with the latest chnges in tif_read.c in

* libtiff/tif_pixarlog.c
+ PixarLogDecode(): resync tif_rawcp with next_in and tif_rawcc
with avail_in at beginning and end of function, similarly to
what is done in LZWDecode(). Likely needed so that it works
properly with latest chnges in tif_read.c in
CHUNKY_STRIP_READ_SUPPORT mode. But untested...

* libtiff/tif_getimage.c
+ initYCbCrConversion(): add basic validation of luma and
refBlackWhite coefficients (just check they are not NaN for
now), to avoid potential float to int overflows. Fixes
Credit to OSS Fuzz

* libtiff/tif_read.c
+ _TIFFVSetField(): fix outside range cast of double to float.
Credit to Google Autofuzz project

* libtiff/tif_getimage.c
+ initYCbCrConversion(): check luma[1] is not zero to avoid
division by zero. Fixes
Credit to OSS Fuzz

* libtiff/tif_read.c
+ _TIFFVSetField(): fix outside range cast of double to float.
Credit to Google Autofuzz project

* libtiff/tif_getimage.c
+ initYCbCrConversion(): check luma[1] is not zero to avoid
division by zero. Fixes
Credit to OSS Fuzz

* libtiff/tif_getimage.c
+ initYCbCrConversion(): stricter validation for refBlackWhite
coefficients values. To avoid invalid float->int32 conversion.
Credit to OSS Fuzz

* tools/fax2tiff.c (main)
+ Applied patch by Joerg Ahrens to fix passing client data for
Win32 builds using tif_win32.c (USE_WIN32_FILEIO defined) for
file I/O. Patch was provided via email on November 20, 2016.

* tools/tiffcp.c
+ avoid uint32 underflow in cpDecodedStrips that can cause
various issues, such as buffer overflows in the library.
Reported by Agostino Sarubbo.

* tools/tiffcrop.c
+ fix readContigStripsIntoBuffer() in -i (ignore) mode so that
the output buffer is correctly incremented to avoid write
outside bounds. Reported by Agostino Sarubbo.

* tools/tiffcrop.c
+ add 3 extra bytes at end of strip buffer in
readSeparateStripsIntoBuffer() to avoid read outside of heap
allocated buffer. Reported by Agostino Sarubbo.

* tools/tiffcrop.c
+ fix integer division by zero when BitsPerSample is missing.
Reported by Agostino Sarubbo.

* tools/tiffinfo.c
+ fix null pointer dereference in -r mode when the image has no
StripByteCount tag. Reported by Agostino Sarubbo.

* tools/tiffcp.c
+ avoid potential division by zero is BitsPerSamples tag is
missing. Reported by Agostino Sarubbo.

* tools/tif_dir.c
+ when TIFFGetField(, TIFFTAG_NUMBEROFINKS, ) is called, limit
the return number of inks to SamplesPerPixel, so that code
that parses ink names doesn\'t go past the end of the buffer.
Reported by Agostino Sarubbo.

* tools/tiffcp.c
+ avoid potential division by zero is BitsPerSamples tag is
missing. Reported by Agostino Sarubbo.

* tools/tiffcp.c
+ fix uint32 underflow/overflow that can cause heap-based buffer
overflow. Reported by Agostino Sarubbo.

* tools/tiffcp.c
+ replace assert( (bps % 8) == 0 ) by a non assert check.
Reported by Agostino Sarubbo.

* tools/tiff2ps.c
+ fix 2 heap-based buffer overflows (in PSDataBW and
PSDataColorContig). Reported by Agostino Sarubbo.
Fixes and

* tools/tiff2pdf.c
+ prevent heap-based buffer overflow in -j mode on a paletted
image. Note: this fix errors out before the overflow happens.
There could probably be a better fix.

* tools/tiff2pdf.c
+ fix wrong usage of memcpy() that can trigger unspecified behaviour.

* tools/tiff2pdf.c
+ avoid potential invalid memory read in t2p_writeproc.

* tools/tiff2pdf.c
+ avoid potential heap-based overflow in t2p_readwrite_pdf_image_tile().

* tools/tiffcrop.c
+ remove extraneous TIFFClose() in error code path, that caused
double free.
Related to

* tools/tiffcp.c
+ error out cleanly in cpContig2SeparateByRow and
cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap
based overflow.
Fixes and

* tools/raw2tiff.c
+ avoid integer division by zero.

* tools/tiff2ps.c
+ call TIFFClose() in error code paths.

* tools/fax2tiff.c
+ emit appropriate message if the input file is empty. Patch by
Alan Coopersmith.

* tools/tiff2bw.c
+ close TIFF handle in error code path.

* Other issues fixed:
+ bsc#1042804, CVE-2017-9404
- Removed patches:

* tiff-4.0.7-CVE-2015-7554.patch

* tiff-4.0.7-CVE-2017-5225.patch

* tiff-4.0.7-TIFFTAG_FAXRECVPARAMS.patch

* tiff-CVE-2016-10266.patch

* tiff-CVE-2016-10267.patch

* tiff-CVE-2016-10268.patch

* tiff-CVE-2016-10269.patch

* tiff-CVE-2016-10270.patch

* tiff-CVE-2016-10271.patch

* tiff-CVE-2016-10272.patch
+ Fixed upstream

Wed Mar 29 14:00:00 2017
- Added patches:

* tiff-CVE-2016-10266.patch
+ Upstream fix for CVE-2016-10266, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (divide-by-zero error
and application crash) via a crafted TIFF image (bsc#1031263)

* tiff-CVE-2016-10267.patch
+ Upstream fix for CVE-2016-10267, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (divide-by-zero error
and application crash) via a crafted TIFF image (bsc#1031262)

* tiff-CVE-2016-10268.patch
+ Upstream fix for CVE-2016-10268, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (divide-by-zero error
and application crash) via a crafted TIFF image (bsc#1031255)

* tiff-CVE-2016-10269.patch
+ Upstream fix for CVE-2016-10269, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (heap-based buffer
over-read) or possibly have unspecified other impact via a
crafted TIFF image (bsc#1031254)

* tiff-CVE-2016-10270.patch
+ Upstream fix for CVE-2016-10270, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (heap-based buffer
over-read) or possibly have unspecified other impact via a
crafted TIFF image (bsc#1031250)

* tiff-CVE-2016-10271.patch
+ Upstream fix for CVE-2016-10271, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (heap-based buffer
over-read and buffer overflow) or possibly have unspecified
other impact via a crafted TIFF image (bsc#1031249)

* tiff-CVE-2016-10272.patch
+ Upstream fix for CVE-2016-10272, LibTIFF 4.0.7 allows remote
attackers to cause a denial of service (heap-based buffer
overflow) or possibly have unspecified other impact via a
crafted TIFF image (bsc#1031247)

Thu Feb 2 13:00:00 2017
- Added patch:

* tiff-4.0.7-TIFFTAG_FAXRECVPARAMS.patch
- Fix a regression introduced in 4.0.7 (bsc#1022103)

Fri Jan 13 13:00:00 2017
- Added patch:

* tiff-4.0.7-CVE-2017-5225.patch
- Upstream fix for CVE-2017-5225, bsc#1019611: heap buffer
overflow in tools/tiffcp via a crafted BitsPerSample value

Mon Dec 19 13:00:00 2016
- Drop --with-pic, this is only for static libs (which are not built)
- Update descriptions

Mon Dec 19 13:00:00 2016
- Update homepage

Tue Nov 29 13:00:00 2016
- Upgrade to upstream release 4.0.7

* libtiff/tif_aux.c
+ Fix crash in TIFFVGetFieldDefaulted() when requesting
Predictor tag and that the zip/lzw codec is not configured.

* libtiff/tif_compress.c
+ Make TIFFNoDecode() return 0 to indicate an error and make
upper level read routines treat it accordingly. (linked to the
test case of

* libtiff/tif_dir.c
+ Discard values of SMinSampleValue and SMaxSampleValue when
they have been read and the value of SamplesPerPixel is
changed afterwards (like when reading a OJPEG compressed image
with a missing SamplesPerPixel tag, and whose photometric is
RGB or YCbCr, forcing SamplesPerPixel being 3). Otherwise when
rewriting the directory (for example with tiffset, we will
expect 3 values whereas the array had been allocated with just
one), thus causing a out of bound read access. Fixes
(CVE-2014-8127, bsc#914890, duplicate: CVE-2016-3658, bsc#974840)

* libtiff/tif_dirread.c
+ In TIFFFetchNormalTag(), do not dereference NULL pointer when
access are 0-byte arrays. Fixes (regression
introduced by previous fix done on 2016-11-11 for
CVE-2016-9297, bsc#1010161). Assigned as CVE-2016-9448,
+ In TIFFFetchNormalTag(), make sure that values of tags with
terminated, to avoid potential read outside buffer in
_TIFFPrintField(). Fixes
(CVE-2016-9297, bsc#1010161)
+ Initialize doubledata at line 3693 to NULL to please MSVC 2013
+ Prevent reading ColorMap or TransferFunction if
BitsPerPixel > 24, so as to avoid huge memory allocation and
file read attempts
+ Reject images with OJPEG compression that have no
TileOffsets/StripOffsets tag, when OJPEG compression is
disabled. Prevent null pointer dereference in
TIFFReadRawStrip1() and other functions that expect
td_stripbytecount to be non NULL. Fixes
+ When compiled with DEFER_STRILE_LOAD, fix regression, when
reading a one-strip file without a StripByteCounts tag.
+ Workaround false positive warning of Clang Static Analyzer
about null pointer dereference in TIFFCheckDirOffset().

* libtiff/tif_dirwrite.c
+ Avoid null pointer dereference on td_stripoffset when writing
directory, if FIELD_STRIPOFFSETS was artificially set for a
hack case in OJPEG case. Fixes
(CVE-2014-8127, bsc#914890, duplicate: CVE-2016-3658,
+ Fix truncation to 32 bit of file offsets in TIFFLinkDirectory()
and TIFFWriteDirectorySec() when aligning directory offsets on
an even offset (affects BigTIFF).

* libtiff/tif_dumpmode.c
+ DumpModeEncode() should return 0 in case of failure so that
the above mentionned functions detect the error.

* libtiff/tif_fax3.c
+ remove dead assignment in Fax3PutEOLgdal().

* libtiff/tif_fax3.h
+ make Param member of TIFFFaxTabEnt structure a uint16 to
reduce size of the binary.

* libtiff/tif_getimage.c
+ Fix out-of-bound reads in TIFFRGBAImage interface in case of
unsupported values of SamplesPerPixel/ExtraSamples for
LogLUV/CIELab. Add explicit call to TIFFRGBAImageOK() in
TIFFRGBAImageBegin(). Fix CVE-2015-8665 and CVE-2015-8683.
+ Fix some benign warnings which appear in 64-bit compilation
under Microsoft Visual Studio of the form \"Arithmetic
overflow: 32-bit value is shifted, then cast to 64-bit value.
Results might not be an expected value.\"
+ TIFFRGBAImageOK: Reject attempts to read floating point images.

* libtiff/tif_luv.c
+ Fix potential out-of-bound writes in decode functions in non
debug builds by replacing assert()s by regular if checks
( Fix
potential out-of-bound reads in case of short input data.
there is only one sample per pixel. Avoid potential invalid
memory write on corrupted/unexpected images when using the
TIFFRGBAImageBegin() interface

* libtiff/tif_next.c
+ Fix potential out-of-bound write in NeXTDecode()

* libtiff/tif_pixarlog.c
+ Avoid zlib error messages to pass a NULL string to %s
formatter, which is undefined behaviour in sprintf().
+ Fix out-of-bounds write vulnerabilities in heap allocated
buffers. Reported as MSVR 35094.
+ Fix potential buffer write overrun in PixarLogDecode() on
corrupted/unexpected images (CVE-2016-5875, bsc#987351)
+ Fix write buffer overflow in PixarLogEncode if more input
samples are provided than expected by PixarLogSetupEncode.
Idea based on libtiff-CVE-2016-3990.patch from
libtiff-4.0.3-25.el7_2.src.rpm, but with different and simpler
check. (,

* libtiff/tif_predict.c
+ PredictorSetup: Enforce bits-per-sample requirements of
floating point predictor (3). Fixes CVE-2016-3622 \"Divide By
Zero in the tiff2rgba tool.\" (bsc#974449)

* libtiff/tif_predict.h, libtiff/tif_predict.c
+ Replace assertions by runtime checks to avoid assertions in
debug mode, or buffer overflows in release mode. Can happen
when dealing with unusual tile size like YCbCr with
subsampling. Reported as MSVR 35105.

* libtiff/tif_read.c
+ Fix out-of-bounds read on memory-mapped files in
TIFFReadRawStrip1() and TIFFReadRawTile1() when stripoffset
is beyond tmsize_t max value
+ Make TIFFReadEncodedStrip() and TIFFReadEncodedTile() directly
use user provided buffer when no compression (and other
conditions) to save a memcpy().

* libtiff/tif_strip.c
+ Make TIFFNumberOfStrips() return the td->td_nstrips value when
it is non-zero, instead of recomputing it. This is needed in
TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read
outsize of array in tiffsplit (or other utilities using
TIFFNumberOfStrips()). Fixes
(CVE-2016-9273, bsc#1010163)

* libtiff/tif_write.c
+ Fix issue in error code path of TIFFFlushData1() that didn\'t
reset the tif_rawcc and tif_rawcp members. I\'m not completely
sure if that could happen in practice outside of the odd
behaviour of t2p_seekproc() of tiff2pdf). The report points
that a better fix could be to check the return value of
TIFFFlushData1() in places where it isn\'t done currently, but
it seems this patch is enough. Reported as MSVR 35095.
+ Make TIFFWriteEncodedStrip() and TIFFWriteEncodedTile()
directly use user provided buffer when no compression to save
a memcpy().
+ TIFFWriteEncodedStrip() and TIFFWriteEncodedTile() should
return -1 in case of failure of tif_encodestrip() as documented

* tools/fax2tiff.D c
+ Fix segfault when specifying -r without argument. Fixes

* tools/
+ The libtiff tools bmp2tiff, gif2tiff, ras2tiff, sgi2tiff,
sgisv, and ycbcr are completely removed from the distribution.
The libtiff tools rgb2ycbcr and thumbnail are only built in
the build tree for testing. Old files are put in new \'archive\'
subdirectory of the source repository, but not in
distribution archives. These changes are made in order to
lessen the maintenance burden.

* tools/rgb2ycbcr.c
+ Validate values of -v and -h parameters to avoid potential
divide by zero. Fixes CVE-2016-3623, bsc#974618

* tools/tiff2bw.c
+ Fix weight computation that could result of color value
overflow (no security implication). Fix

* tools/tiff2pdf.c
+ Avoid undefined behaviour related to overlapping of source and
destination buffer in memcpy() call in
t2p_sample_rgbaa_to_rgb() Fixes
+ Fix out-of-bounds write vulnerabilities in heap allocate buffer
in t2p_process_jpeg_strip(). Reported as MSVR 35098.
+ Fix potential integer overflows on 32 bit builds in
t2p_read_tiff_size() Fixes
+ Fix read -largely- outsize of buffer in
t2p_readwrite_pdf_image_tile(), causing crash, when reading a
JPEG compressed image with TIFFTAG_JPEGTABLES length being one.
Reported as MSVR 35101. CVE-2016-9453, bsc#1011107
+ Fix write buffer overflow of 2 bytes on JPEG compressed images.
Reported as TALOS-CAN-0187, CVE-2016-5652, bsc#1007280. Also
prevents writing 2 extra uninitialized bytes to the file

* tools/tiff2rgba.c
+ Fix integer overflow in size of allocated buffer, when -b mode
is enabled, that could result in out-of-bounds write. Based
initially on patch tiff-CVE-2016-3945.patch from
libtiff-4.0.3-25.el7_2.src.rpm, with correction for invalid
tests that rejected valid files.
(, bsc#974614)

* tools/tiffcp.c
+ Fix out-of-bounds write on tiled images with odd tile width vs
image width. Reported as MSVR 35103. (bsc#1011841,
+ Fix read of undefined variable in case of missing required
tags. Found on test case of MSVR 35100.

* tools/tiffcrop.c
+ Avoid access outside of stack allocated array on a tiled
separate TIFF with more than 8 samples per pixel.
(CVE-2016-5321, CVE-2016-5323,,, bsc#984813,
+ Fix memory leak in (recent) error code path. Fixes Coverity
+ Fix multiple uint32 overflows in writeBufferToSeparateStrips(),
writeBufferToContigTiles() and writeBufferToSeparateTiles()
that could cause heap buffer overflows. Fixes
+ Fix out-of-bound read of up to 3 bytes in
readContigTilesIntoBuffer(). Reported as MSVR 35092.
+ Fix out-of-bounds write in loadImage(). From patch
libtiff-CVE-2016-3991.patch from
(, bsc#975070)
+ Fix read of undefined buffer in readContigStripsIntoBuffer()
due to uint16 overflow. Reported as MSVR 35100. (bsc#1011841,
+ Fix various out-of-bounds write vulnerabilities in heap or
stack allocated buffers. Reported as MSVR 35093, MSVR 35096
and MSVR 35097.
+ readContigTilesIntoBuffer: Fix signed/unsigned comparison

* tools/tiffdump.c
+ Fix a few misaligned 64-bit reads warned by -fsanitize
+ ReadDirectory: Remove uint32 cast to_TIFFmalloc() argument
which resulted in Coverity report. Added more mutiplication
overflow checks

* tools/tiffinfo.c
+ Fix out-of-bound read on some tiled images.
+ TIFFReadContigTileData: Fix signed/unsigned comparison warning.
+ TIFFReadSeparateTileData: Fix signed/unsigned comparison
- Removed patches:

* tiff-4.0.4-uninitialized_mem_NeXTDecode.patch

* tiff-4.0.6-CVE-2015-8782.patch

* tiff-4.0.6-CVE-2016-3186.patch

* tiff-4.0.6-CVE-2016-3623.patch

* tiff-4.0.6-CVE-2016-3945.patch

* tiff-4.0.6-CVE-2016-3990.patch

* tiff-4.0.6-CVE-2016-3991.patch

* tiff-4.0.6-libtiff-tif_getimage.c-TIFFRGBAImageOK-Reject-attemp.patch

* tiff-4.0.6-libtiff-tif_luv.c-validate-that-for-COMPRESSION_SGIL.patch

* tiff-4.0.6-libtiff-tif_pixarlog.c-fix-potential-buffer-write-ov.patch

* tiff-4.0.6-libtiff-tif_read.c-make-TIFFReadEncodedStrip-and.patch

* tiff-4.0.6-tools-tiffcrop.c-fix-various-out-of-bounds-write-vul.patch
- Fixed in the upsteam release
- Changed patch:

* tiff-4.0.6-CVE-2015-7554.patch -> tiff-4.0.7-CVE-2015-7554.patch
- Rediffed to the changed context

Thu Oct 6 14:00:00 2016
- Added patches:

* tiff-4.0.6-tools-tiffcrop.c-fix-various-out-of-bounds-write-vul.patch
- Upstream fixes for MSVR 35093, MSVR 35094, MSVR 35095,
MSVR 35096, MSVR 35097, MSVR 35098.

* tiff-4.0.6-libtiff-tif_getimage.c-TIFFRGBAImageOK-Reject-attemp.patch
- Enforce bits-per-sample requirements of floating point
predictor. Fixes CVE-2016-3622 [bsc#974449]

Thu Sep 1 14:00:00 2016
- Added patches:

* tiff-4.0.6-CVE-2016-3623.patch

* tiff-4.0.6-CVE-2016-3945.patch

* tiff-4.0.6-CVE-2016-3990.patch

* tiff-4.0.6-CVE-2016-3991.patch
- Upstream commits to fix CVE-2016-3623 [bsc#974618],
CVE-2016-3945 [bsc#974614], CVE-2016-3990 [bsc#975069],
CVE-2016-3991 [bsc#975070]

Tue Jul 12 14:00:00 2016
- Added patches:

* tiff-4.0.6-libtiff-tif_luv.c-validate-that-for-COMPRESSION_SGIL.patch

* tiff-4.0.6-libtiff-tif_pixarlog.c-fix-potential-buffer-write-ov.patch

* tiff-4.0.6-libtiff-tif_read.c-make-TIFFReadEncodedStrip-and.patch
- Upstream commits to fix CVE-2016-5314 [bsc#984831],
CVE-2016-5316 [bsc#984837], CVE-2016-5317 [bsc#984842],
CVE-2016-5320 [bsc#984808] and CVE-2016-5875 [bsc#987351]

Wed Apr 6 14:00:00 2016
- Added patch:

* tiff-4.0.6-CVE-2016-3186.patch
- fix CVE-2016-3186: buffer overflow in gif2tiff [bsc#973340]

Mon Feb 1 13:00:00 2016
- Added patch:

* tiff-4.0.6-CVE-2015-8782.patch
- fix CVE-2015-8781, CVE-2015-8782, CVE-2015-8783: Out-of-bounds
writes for invalid images (upstream bug #2522) [bsc#964225]

Wed Jan 13 13:00:00 2016
- Added patch:

* tiff-4.0.6-CVE-2015-7554.patch
- fix CVE-2015-7554: Out-of-bounds Write in the thumbnail and
tiffcmp tools (upsteam bug #2499) [bsc#960341]

Mon Jan 11 13:00:00 2016
- Added patch:

* tiff-4.0.4-uninitialized_mem_NeXTDecode.patch
- fix uninitialized memory in NeXTDecode (upstream bug #2508)

Tue Dec 8 13:00:00 2015
- Update to version 4.0.6

* Supports CMake 2.8.9 and later.

* Add missing file which wasn\'t being distributed, causing unit
tests to fail.

* Make shared/static library building configurable.

* CMake reads all version information directly from
to avoid duplication of values.

* CMake builds are now included in \'distcheck\' target.

* Autotools \'make distcheck\' now tests the CMake-based build if
CMake is available.

* Fixes to avoid undefined behaviour of signed types (C standard

* Fixes to avoid possible isses when casting to unsigned char.

* Fixes to avoid undefined behaviour with shifts.

* Fix generation of output with 16 bit or 32 bit integer, when
byte swapping is needed, in horizontal predictor (#2521).

* Fix decoding when there is a single pixel to decode
(unlikely case...) and byte swapping is involved.

* Add add explicit masking with 0xff before casting to uchar in
floating-point horizontal differencing and accumulation routines.

* Eliminate requirement for and use of 64-bit constant values.

* tiffgt : Silence glut API deprecation warnings on MacOS X.

* fax2ps : Detect failure to write to temporary file.
- Changes from version 4.0.5

* Support for configure/build using CMake.

* Support for large (> 2GB) files under Microsoft Windows.

* Configuration and building using CMake is now supported under
Microsoft Windows and on Unix-type systems.

* Test for and use fseeko() if it is available. This allows supporting
large files on Unix-type systems with a 32-bit \'long\' type and a
64-bit \'off_t\' type.

* tiffiop.h: Macros added to use 64-bit equivalents for all standard
I/O and POSIX APIs used by libtiff and its tools which are limited
to 2GB in Windows builds. Note that these 64-bit equivalents were
introduced by the CRT provided with Visual Studio 2005 and if the
necessary CRT is not installed on the target computer, the program
will not run. The wrapper macros will not be activated unless the
definition _MSC_VER is at least 1400 or __MSVCRT_VERSION__ is at
least 0x800.

* tif_unix.c: Updated to support large files under Microsoft Windows.
This makes tif_unix.c a completely viable candidate for use under
Windows (in spite of its name) if the CRT is modern enough. Please
note that tif_win32.c already supported large files, but only
\'tiffinfo\' and \'tiffdump\' made any provision to support large files
under Windows.

* _tiffReadProc() and _tiffWriteProc() are modified to chunk I/O to a
maximum size of 2GB for extremely large I/O requests. This surmounts
limitations in the Microsoft Windows read() and write() APIs (which
are limited to the range of a 32-bit \'int\'), and may avoid poor
behavior with extremely large I/O requests on other systems.

* Updated to use I/O wrapper macros from tiffiop.h in order to
support large files under Microsoft Windows.

Tue Aug 4 14:00:00 2015
- use spec-cleaner

Wed Jul 1 14:00:00 2015
- update to 4.0.4
D tiff-4.0.3-double-free.patch
D tiff-4.0.3-CVE-2013-1961.patch
D erouault.2862.patch
D bfriesen.2805.patch
D tiff-4.0.3-CVE-2013-4232.patch
D tiff-4.0.3-CVE-2013-4244.patch
D erouault.2861.patch
D erouault.2857.patch
D erouault.2856.patch
D erouault.2859.patch
D tiff-4.0.3-CVE-2012-4564.patch
D tiff-4.0.3-tiff2pdf-colors.patch
D erouault.2876.patch
D erouault.2860.patch
D tiff-dither-malloc-check.patch
D tiff-4.0.3-CVE-2013-1960.patch
D erouault.2858.patch
D tiff-handle-TIFFTAG_PREDICTOR.patch
D tiff-4.0.3-CVE-2013-4231.patch
D tiff-4.0.3-CVE-2013-4243.patch
D erouault.2863.patch
D tiff-4.0.3-test-jpeg-turbo.patch

Thu Feb 26 13:00:00 2015
- security update: CVE-2014-9655, CVE-2014-8127, CVE-2014-8128,
CVE-2014-8129, CVE-2014-8130, CVE-2015-1547
bnc#914890, bnc#916925, bnc#916927
+ erouault.2856.patch
+ erouault.2857.patch
+ erouault.2858.patch
+ erouault.2859.patch
+ erouault.2860.patch
+ erouault.2861.patch
+ erouault.2862.patch
+ erouault.2863.patch
+ erouault.2876.patch
+ bfriesen.2805.patch
+ tiff-handle-TIFFTAG_PREDICTOR.patch
+ tiff-dither-malloc-check.patch

Mon Dec 22 13:00:00 2014
- build with PIE

Wed Aug 21 14:00:00 2013
- security update

* CVE-2013-4232.patch [bnc#834477]

* CVE-2013-4231.patch [bnc#834477]

* CVE-2013-4244.patch [bnc#834788]

* CVE-2013-4243.patch [bnc#834779]

Wed Jun 26 14:00:00 2013
- tiff2pdf: introduced warning when the compression isn\'t lzw or
none [bnc#819142]
- tiff2pdf: fixed crash [bnc#821872]

Tue Apr 30 14:00:00 2013
- security update

* CVE-2013-1961.patch [bnc#818117]

* CVE-2013-1960.patch [bnc#817573]

Fri Apr 5 14:00:00 2013
- Add Source URL, see

Mon Nov 5 13:00:00 2012
- updated to 4.0.3:

* Add some TIFF/FX support in libtiff.

* Fix bug rewriting image tiles in a compressed file.

* Fix read past end of data buffer.

* etc., see ChangeLog
- removed upstreamed patches:

* bigendian.patch

* dont-fancy-upsampling.patch

* CVE-2012-3401.patch
- new patch:

* test-jpeg-turbo.patch

* CVE-2012-4564.patch [bnc#787892]

Mon Jul 23 14:00:00 2012
- fixed CVE-2012-3401 [bnc#770816]

Thu Jun 28 14:00:00 2012
- RGBA is packed in host order, use the right macros to unpack
and verify in raw_decode test.

Wed Jun 20 14:00:00 2012
- updated to 4.0.2: [bnc#767852] [bnc#767854]
tif_getimage.c: added support for _SEPARATED CMYK images.
tif_getimage.c: Added support for greyscale + alpha.
Added TIFFCreateCustomDirectory() and TIFFCreateEXIFDirectory() functions.
tif_print.c: Lots of fixes around printing corrupt or hostile input.
Improve handling of corrupt ycbcrsubsampling values.
tif_unix.c: use strerror to get meaningful error messages.
tif_jpeg.c: fix serious bugs in JPEGDecodeRaw().
tif_jpeg.c: Fix size overflow (zdi-can-1221,CVE-2012-1173).
tiff2pdf: Defend against integer overflows while calculating required
buffer sizes (CVE-2012-2113).

Tue Apr 10 14:00:00 2012
- Fix building on older targets from SUSE 10.0 to current.
- Add jbig support

Thu Mar 29 14:00:00 2012
- Add lzma support
- Implement %check
- Drop visibility patch because it breaks compilation

Wed Mar 28 14:00:00 2012
- change package name libtiff4 to libtiff5.
library number is 5 actually.

Wed Mar 28 14:00:00 2012
- Update to 4.0.1

- Add libtiff private dependency on -llzma for pkg-config
- Add support for using library symbol versioning on
ELF systems with the GNU linker.

* libtiff/tif_win32.c: Eliminate some minor 64-bit warnings in

* libtiff/tif_jpeg.c: Extra caution for case where sp is NULL.

* libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around
assumption tag fetching is always successful.

* libtiff/tiffio.h: Use double-underbar syntax in GCC printf
attribute specification to lessen the risk of accidental macro

* Update automake used to 1.11.3.

Wed Mar 28 14:00:00 2012
- license update: HPND
tiff license most akin to spdx recognised

Tue Jan 10 13:00:00 2012
- remove libjpeg-devel and zlib-devel from libtiff-devel
requires as they are _not_ required to use the library.
Now, this _will_ break packages with wrong buildrequires
for good.

Tue Jan 10 13:00:00 2012
- Hide private symbols using gcc visibility, this has been
applied only to functions that the source code clearly states
that are internal to the library.
- Run spec cleaner

Wed Nov 23 13:00:00 2011
- add libtool as buildrequire to avoid implicit dependency

Fri Aug 5 14:00:00 2011
- Do not use -fno-strict-aliasing, no longer needed
and will probably slow down the code.
- Fix self-obsoletion warning

Thu Apr 14 14:00:00 2011
- updated to 3.9.5:

* fixed integer overflow CVE-2010-4665

* fixed buffer overflow in ojpeg decoder

* upstreamed:
- oob-read.patch
- CVE-2011-0192.patch
- getimage-64bit.patch
- CVE-2011-1167.patch
- scanlinesize.patch

Thu Mar 31 14:00:00 2011
- fixed regression caused by previous update [bnc#682871]

* modified CVE-2011-0192.patch
- fixed buffer overflow in thunder decoder [bnc#683337]

* added CVE-2011-1167.patch

Thu Feb 17 13:00:00 2011
- fixed buffer overflow [bnc#672510]

* CVE-2011-0192.patch

Mon Sep 6 14:00:00 2010
- fixed \"Possibly exploitable memory corruption issue in libtiff\"

* scanlinesize.patch
- fixed crash while using libjpeg7 and higher

* dont-fancy-upsampling.patch

Mon Jul 12 14:00:00 2010
- updated to 3.9.4: fixes CVE-2010-2065 -- obsoletes

* integer-overflow.patch

* NULL-deref.patch
- fixes CVE-2010-2067

Wed Jun 23 14:00:00 2010
- fixed CVE-2010-2065

* integer-overflow.patch

* NULL-deref.patch
- fixed out of bounds read

* oob-read.patch
- fixed CVE-2010-2233

* getimage-64bit.patch
- [bnc#612879]

Mon Apr 26 14:00:00 2010
- fixed tiff2pdf output [bnc#599475]

Fri Mar 26 13:00:00 2010
- fixed typo

Tue Mar 16 13:00:00 2010
- updated to 3.9.2: fixed many CVE\'s and obsoletes almost all
our patches (see ChangeLog for details)

Tue Dec 15 13:00:00 2009
- add baselibs.conf as a source
- enable parallel building

Thu Aug 6 14:00:00 2009
- fixed integer overflows [bnc#519796]

* CVE-2009-2347.patch

Thu Jul 2 14:00:00 2009
- fixed lzw overflow CVE-2009-2285 [bnc#518698]