Skip to content

Update dependency libtiff/libtiff to v4.7.1

This MR contains the following updates:

Package Update Change
libtiff/libtiff patch v4.7.0 -> v4.7.1

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

libtiff/libtiff (libtiff/libtiff)

v4.7.1: libtiff 4.7.1

Compare Source

Major changes

None

Software configuration changes

  • Define HAVE_JPEGTURBO_DUAL_MODE_8_12 and LERC_STATIC in tif_config.h.
  • CMake: define WORDS_BIGENDIAN via tif_config.h
  • doc/CMakeLists.txt: remove useless cmake_minimum_required()
  • CMake: fix build with LLVM/Clang 17 (fixes #​651)
  • CMake: set CMP0074 new policy
  • Set LINKER_LANGUAGE for C targets with C deps
  • Export tiffxx cmake target (fixes #​674)
  • autogen.sh: Enable verbose wget.
  • configure.ac: Syntax updates for Autoconf 2.71
  • autogen.sh: Re-implement based on autoreconf. Failure to update config.guess/config.sub does not return error (fixes #​672)
  • CMake: fix CMake 4.0 warning when minimum required version is < 3.10.
  • CMake: Add build option tiff-static (fixes #​709)

Library changes

New/improved functionalities:

  • Add TIFFOpenOptionsSetWarnAboutUnknownTags() for explicit control about emitting warnings for unknown tags. No longer emit warnings about unknown tags by default

  • tif_predict.c: speed-up decompression in some cases.

API/ABI breaks:

  • None

Bug fixes:

  • tif_fax3: For fax group 3 data if no EOL is detected, reading is retried without synchronisation for EOLs. (fixes #​54)

  • Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE. Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE. Improving handling when field_name = NULL. (fixes #​532)

  • tiff.h: add COMPRESSION_JXL_DNG_1_7=52546 as used for JPEGXL compression in the DNG 1.7 specification

  • TIFFWriteDirectorySec: Increment string length for ASCII tags for codec tags defined with FIELD_xxx bits, as it is done for FIELD_CUSTOM tags. (fixes #​648)

  • Do not error out on a tag whose tag count value is zero, just issue a warning. Fix parsing a private tag 0x80a6 (fixes #​647)

  • TIFFDefaultTransferFunction(): give up beyond td_bitspersample = 24 (Fixes https://github.com/OSGeo/gdal/issues/10875)

  • tif_getimage.c: Remove unnecessary calls to TIFFRGBAImageOK() (fixes #​175)

  • Fix writing a Predictor=3 file with non-native endianness

  • _TIFFVSetField(): fix potential use of unallocated memory (out-of-bounds read / nullptr dereference) in case of out-of-memory situation when dealing with custom tags (fixes #​663)

  • tif_fax3.c: Error out for CCITT fax encoding if SamplesPerPixel is not equal 1 and PlanarConfiguration = Contiguous (fixes #​26)

  • tif_fax3.c: error out after a number of times end-of-line or unexpected bad code words have been reached. (fixes #​670)

  • Fix memory leak in TIFFSetupStrips() (fixes #​665)

  • tif_zip.c: Provide zlib allocation functions. Otherwise for zlib built with -DZ_SOLO inflating will fail.

  • Fix memory leak in _TIFFSetDefaultCompressionState. (fixes #​676)

  • tif_predict.c: Don’t overwrite input buffer of TIFFWriteScanline() if "prediction" is enabled. Use extra working buffer in PredictorEncodeRow(). (fixes #​5)

  • tif_getimage.c: update some integer overflow checks (fixes #​79)

  • tif_getimage.c: Fix buffer underflow crash for less raster rows at TIFFReadRGBAImageOriented() (fixes #​704)

  • TIFFReadRGBAImage(): several fixes to avoid buffer overflows.

  • Correct passing arguments to TIFFCvtIEEEFloatToNative() and TIFFCvtIEEEDoubleToNative() if HAVE_IEEEFP is not defined. (fixes #​699)

  • LZWDecode(): avoid nullptr dereference when trying to read again after EOI marker has been found with remaining output bytes (fixes #​698)

  • TIFFSetSubDirectory(): check _TIFFCheckDirNumberAndOffset() return.

  • TIFFUnlinkDirectory() and TIFFWriteDirectorySec(): clear tif_rawcp when clearing tif_rawdata (fixes #​711)

  • JPEGEncodeRaw(): error out if a previous scanline failed to be written, to avoid out-of-bounds access (fixes #​714)

  • tif_jpeg: Fix bug in JPEGDecodeRaw() if JPEG_LIB_MK1_OR_12BIT is defined for 8/12bit dual mode, introduced in libjpeg-turbo 2.2, which was actually released as 3.0. (fixes #​717)

  • add assert for TIFFReadCustomDirectory infoarray check.

Other changes:

  • tif_jpeg.c: use JPEG_MAX_DIMENSION constant instead of hard-coded 65535 value

  • tif_lzw.c / tif_packbits.c: use NULL instead of 0.

  • Take into account PACKBITS_READ_ONLY, LZW_READ_ONLY, and LERC_READ_ONLY macros to disable compiling write-support for those codecs.

  • tif_lerc.c: add missing casts

  • Merge several functions implemented twice in different modules. (see #​154)

  • Remove get_field_type form TIFFField structure because it is not used anymore and rename other parameter to set_get_field_type

  • Silence some Coverity Scan warnigs and mark already dismissed ones.

  • References to codec libraries updated and missing codec compile defines (tiffconf.h) added.

  • Move mkg3states under libtiff/tools. (fixes #​708)

  • tiff_itrunc(): don't use rand() to please Coverity Scan.

  • tiffio.h: fix compilation with LOGLUV_PUBLIC=0

  • LICENSE.md: Add BSD license for Lempel-Ziv & Welch compression (tif_lzw.c) (fixes #​431)

Documentation

  • TIFFRGBAImage.rst note added for incorrect saving of images with TIFF orientation from 5 (LeftTop) to 8 (LeftBottom) in the raster.

  • TIFFRGBAImage.rst note added about un-associated alpha handling (fixes #​67)

  • Update "Defining New TIFF Tags" description. (fixes #​642)

  • Fix return type of TIFFReadEncodedTile()

  • Update the documentation to reflect deprecated typedefs.

  • TIFFWriteDirectory.rst: Clarify TIFFSetWriteOffset() only sets offset for image data and not for IFD data.

  • Update documentation on re-entrancy and thread safety.

  • Remove dead links to no more existing Awaresystems web-site.

  • Updating BigTIFF specification and some miscelaneous editions.

  • Replace some last links and remove last todos.

  • Added hints for correct allocation of TIFFYCbCrtoRGB structure and its associated buffers. (fixes #​681)

  • Added chapter to "Using the TIFF Library" with links to handling multi-page TIFF and custom directories. (fixes #​43)

  • update TIFFOpen.rst with the return values of mapproc and unmapproc. (fixes #​12)

Tools changes

New/improved functionality:

  • tiffinfo: add a -W switch to warn about unknown tags.

  • tiffdither: process all pages in input TIFF file.

Bug fixes:

  • ppm2tiff: Fix bug in pack_words trailing bytes, where last two bytes of each line were written wrongly. (fixes #​467)

  • fax2ps: fix regression of commit 28c38d648b64a66c3218778c4745225fe3e3a06d where TIFFTAG_FAXFILLFUNC is being used rather than an output buffer (fixes #​649)

  • tiff2pdf: Check TIFFTAG_TILELENGTH and TIFFTAGTILEWIDTH (fixes #​650)

  • tiff2pdf: check h_samp and v_samp for range 1 to 4 to avoid division by zero. (fixes #​654)

  • tiff2pdf: avoid null pointer dereference. (fixes #​741)

  • Improve non-secure integer overflow check (comparison of division result with multiplicant) at compiler optimisation in tiffcp, rgb2ycbcr and tiff2rgba. (fixes #​546)

  • tiff2rgba: fix some "a partial expression can generate an overflow before it is assigned to a broader type" warnings. (fixes #​682)

  • tiffdither/tiffmedian: Don't skip the first line of the input image. (fixes #​703)

  • tiffdither: avoid out-of-bounds read identified in #​733

  • tiffmedian: error out if TIFFReadScanline() fails (fixes #​707)

  • tiffmedian: close input file. (fixes #​735)

  • thumbail: avoid potential out of bounds access (fixes #​715)

  • tiffcrop: close open TIFF files and release allocated buffers before exiting in case of error to avoid memory leaks. (fixes #​716)

  • tiffcrop: fix double-free and memory leak exposed by #​721

  • tiffcrop: avoid buffer overflow. (fixes #​740)

  • tiffcrop: avoid nullptr dereference. (fixes #​734)

  • tiffdump: Fix coverity scan issue CID 1373365: Passing tainted expression *datamem to PrintData, which uses it as a divisor or modulus.

  • tiff2ps: check return of TIFFGetFiled() for TIFFTAG_STRIPBYTECOUNTS and TIFFTAG_TILEBYTECOUNTS to avoid NULL pointer dereference. (fixes #​718)

  • tiffcmp: fix memory leak when second file cannot be opened. (fixes #​718 and #​729)

  • tiffcp: fix setting compression level for lossless codecs. (fixes #​730)

  • raw2tiff: close input file before exit (fixes #​742)

Changes to contributed and unsupported tools

  • addtiffo: Fixing MSVC compiler warnings

  • Improved oss-fuzz fuzzer tiff_read_rgba_fuzzer.cc.

  • oss-fuzz: fix memory leak in fuzz target.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by GitLab Dependency Bot

Merge request reports

Loading