Changes in TIFF v4.4.0¶
Current Version |
v4.4.0 (tag v4.4.0) |
Previous Version |
|
Master Download Site |
|
Master HTTP Site #1 |
|
Master HTTP Site #2 |
|
Master HTTP Site #3 |
This document provides a summary of significant changes made to the
software between the previous and current versions (see
above). A fully-detailed change summary is provided by the ChangeLog
file
included in the release package and by the Git commit history:
Major changes¶
None
Software configuration changes¶
Handle absolute paths in pkg-config file (issue #333)
Correct fix for the pkgconf file relative paths.
cmake: allow running the tests with a read-only source directory.
cmake: Fix
STRIPCHOP_DEFAULT
value in CMake builds.build: Fix static library imports in mingw related to LERC
Fix version in
libtiff-4.pc.in
, and CMake build: Add requirements to pc filecmake: Fix build with CMake 3.10.
cmake: Export tiff targets.
Make
LERC_SUPPORT
conditional onZLIB_SUPPORT
Library changes¶
New/improved functionalities:
TIFFIsBigTiff()
function added.Functions
TIFFFieldSetGetSize()
andTIFFieldSetGetCountSize()
added.LZWDecode()
: major speed improvements (~30% faster)Predictor 2 (horizontal differenciation): support 64-bit
Support libjpeg 9d
Bug fixes:
Remove incorrect assert (issue #329)
avoid hang in
TIFFRewriteDirectory()
if a classic file > 4 GB is attempted to be createdtif_jbig.c
: fix crash when reading a file with multiple IFD in memory-mapped mode and when bit reversal is needed (fixes issue #385)TIFFFetchNormalTag()
: avoid callingmemcpy()
with a null source pointer and size of zero (fixes issue #383)TIFFWriteDirectoryTagData()
: turn assertion on data length into a runtime checkTIFFFetchStripThing()
: avoid callingmemcpy()
with a null source pointer and size of zero (fixes issue #362)TIFFReadDirectory()
: avoid callingmemcpy()
with a null source pointer and size of zero (fixes issue #362)TIFFYCbCrToRGBInit()
: avoid Integer-overflowTIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS)
: return error if returned pointer is NULL (fixes issue #342)OJPEG: avoid assertion when using
TIFFReadScanline()
(fixes issue #337)TIFFReadDirectory()
: fix OJPEG hack (fixes issue #319)LZW codec: fix support for strips/tiles > 2 GB on Windows
TIFFAppendToStrip()
: fix rewrite-in-place logic (fixes issue #309)Fix
TIFFRewriteDirectory()
discarding directories.TIFFReadCustomDirectory()
: avoid crash when reading SubjectDistance tag on a non EXIF directory (issue #316)Fix Segmentation fault printing GPS directory if
Altitude
tag is presenttif_jpeg.c
: do not emit progressive scans with mozjpeg. (issue #266)_TIFFRewriteField()
: fix when writing a IFD with a single tile that is a sparse one, on big endian hostsFix all remaining uses of legacy Deflate compression id and warn on use.
Tools changes¶
Bug fixes:
tiffcrop: Fix issue issue #330 and some more from 320 to 349.
tiffcrop: fix issue issue #395: generation of strange section images.
tiffcrop: fix issue issue #380 and issue #382 heap buffer overflow in extractImageSection
tiffcrop: fix FPE (issue #393)
tiffcrop: buffsize check formula in
loadImage()
amended (fixes issue #273, issue #275)tiffcrop.c: Fix issue issue #352 heap-buffer-overflow by correcting
uint32_t
underflow.tiff2pdf: handle 8-bit palette colormap.
tiffcp: avoid buffer overflow in "mode" string (fixes issue #400)
tiffcp: Fix incomprehensible setting of orientation tag (fixes issue #29)
tiffcp: do not try to fetch compressor-specific tags when not appropriate (fixes issue #396)
tiffcp: fix heap buffer overflow (issue #278)
tiff2ps: In
limitMalloc()
check for negative size (fixes issue #284)tiffinfo: add a
-M
switch to define the maximum heap allocation, and default it to 256 MiB (fixes issue #287, issue #290)tiffinfo: limit more memory allocations using
-M
switch (fixes issue #288)tiffset: fix global-buffer-overflow for ASCII tags where count is required (fixes issue #355)
raw2tiff: check that band number if not zero to avoid floating point exception(fixes issue #338)
tiffinfo/tiffdump: improve output for GDAL tags.
Contributed software changes¶
None