From b6a17e567f143fab49734a9e09e5bafeb6f97354 Mon Sep 17 00:00:00 2001
From: Even Rouault <[EMAIL REDACTED]>
Date: Fri, 20 May 2022 18:15:09 +0200
Subject: [PATCH] Prepare for release 4.4.0
---
ChangeLog | 1342 ++++++++++++++++++++++++++++++++++++++++++++
RELEASE-DATE | 2 +-
VERSION | 2 +-
configure.ac | 8 +-
html/index.html | 2 +-
html/v4.4.0.html | 200 +++++++
libtiff/tiffvers.h | 4 +-
7 files changed, 1551 insertions(+), 9 deletions(-)
create mode 100644 html/v4.4.0.html
diff --git a/ChangeLog b/ChangeLog
index 9bda39c3..b1eb5cd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1345 @@
+2022-05-16 Even Rouault <even.rouault@spatialys.com>
+
+ libtiff v4.4.0 released
+
+2022-05-16 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'pkgconf_abs_path' into 'master'
+ Handle absolute paths in pkg-config file
+
+ See merge request libtiff/libtiff!333
+
+2022-05-16 Miloš Komarčević <miloskomarcevic@aim.com>
+
+ Handle absolute paths in pkg-config file.
+
+2022-05-15 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix-tests-with-ro-source-dir' into 'master'
+ cmake: allow running the tests with a read-only source directory
+
+ See merge request libtiff/libtiff!332
+
+2022-05-15 Alex Richardson <alexrichardson@google.com>
+
+ cmake: allow running the tests with a read-only source directory.
+ Prior to this commit CTest would invoke all simple_tests tests with the
+ current working directory set to the source directory. However, some of
+ the tests (e.g. rewrite) will output files to the current working
+ directory and will therefore fail when run with a read-only source
+ directory. This can happen e.g. when testing a cross-compiled version of
+ libtiff where the sources are mounted read-only in the virtual machine.
+
+ Simply changing the working directory to CMAKE_CURRENT_BINARY_DIR allows
+ all but raw_decode to pass. The raw_decode test looks for files in the
+ source directory, and uses the `srcdir` environment variable to find, so
+ we also have to add a set_tests_properties() call to specify that env var.
+
+2022-05-14 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_pipeline_error' into 'master'
+ tiffcrop: Fixes complain of pipeline "cmake-ninja-arm64" about abs() on...
+
+ See merge request libtiff/libtiff!331
+
+2022-05-14 Su Laus <sulau@freenet.de>
+
+ tiffcrop: Fixes complain of pipeline "cmake-ninja-arm64" about abs() on...
+
+2022-05-14 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFField_SetGetSize_CountSize' into 'master'
+ Public functions TIFFFieldSetGetSize() and TIFFieldSetGetCountSize() added.
+
+ See merge request libtiff/libtiff!284
+
+2022-05-14 Su Laus <sulau@freenet.de>
+
+ Public functions TIFFFieldSetGetSize() and TIFFieldSetGetCountSize() added.
+
+2022-05-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'jondo-master-patch-87274' into 'master'
+ Replace add_compile_definitions for CMake versions before 3.12 (#238)
+
+ See merge request libtiff/libtiff!330
+
+2022-05-13 Robert Pollak <robert.pollak@posteo.net>
+
+ Replace add_compile_definitions for CMake versions before 3.12 (#238)
+
+2022-05-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'master' into 'master'
+ Remove incorrect assert.
+
+ See merge request libtiff/libtiff!329
+
+2022-05-13 Ben Laurie <benl@google.com>
+
+ Remove incorrect assert.
+
+2022-05-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#330' into 'master'
+ tiffcrop: Fix issue #330 and some more from 320 to 349
+
+ Closes #330
+
+ See merge request libtiff/libtiff!298
+
+2022-05-10 Su Laus <sulau@freenet.de>
+
+ tiffcrop: Fix issue #330 and some more from 320 to 349.
+
+2022-05-10 Even Rouault <even.rouault@spatialys.com>
+
+ test_signed_tags.c: fix CID 1504376.
+
+2022-05-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_#29_tiffcp_orientationTag' into 'master'
+ tiffcp: Fix incomprehensible setting of orientation tag (fixes #29)
+
+ Closes #29
+
+ See merge request libtiff/libtiff!327
+
+2022-05-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'palette-8bit' into 'master'
+ tiff2pdf: handle 8-bit palette colormap
+
+ See merge request libtiff/libtiff!328
+
+2022-05-09 Jay Berkenbilt <ejb@ql.org>
+
+ tiff2pdf: handle 8-bit palette colormap.
+ If all the colors in a palette are in the range [0, 255], treat the
+ palette as an 8-bit colormap. This workaround already exists elsewhere
+ in the software including in tiff2ps.
+
+2022-05-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_#40_ReadSignedTags' into 'master'
+ Reading of signed tags added (fixes #40)
+
+ Closes #40
+
+ See merge request libtiff/libtiff!326
+
+2022-05-08 Su Laus <sulau@freenet.de>
+
+ Reading of signed tags added (fixes #40)
+
+2022-05-08 Even Rouault <even.rouault@spatialys.com>
+
+ Fix typos in comments.
+
+2022-05-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_400' into 'master'
+ tiffcp: avoid buffer overflow in "mode" string (fixes #400)
+
+ Closes #400
+
+ See merge request libtiff/libtiff!323
+
+2022-05-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'CheckForBigTiff' into 'master'
+ TIFFIsBigTiff() function added.
+
+ See merge request libtiff/libtiff!325
+
+2022-05-08 Su Laus <sulau@freenet.de>
+
+ TIFFIsBigTiff() function added.
+
+2022-05-01 Su_Laus <sulau@freenet.de>
+
+ tiffcp: Fix incomprehensible setting of orientation tag (fixes #29)
+
+2022-04-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_#8_FreeAnonTag' into 'master'
+ extra flag for anonymous (unknown) tags (fixes #8)
+
+ Closes #400 et #8
+
+ See merge request libtiff/libtiff!324
+
+2022-04-22 Even Rouault <even.rouault@spatialys.com>
+
+ tif_lzw.c: fix potential out-of-bounds error when trying to read in the same tile/strip after an error has occured (fixes #410)
+
+2022-04-06 Su_Laus <sulau@freenet.de>
+
+ extra flag for anonymous (unknown) tags (fixes #8)
+
+2022-04-02 Su_Laus <sulau@freenet.de>
+
+ tiffcp: avoid buffer overflow in "mode" string (fixes #400)
+
+2022-03-21 Even Rouault <even.rouault@spatialys.com>
+
+ avoid hang in TIFFRewriteDirectory() if a classic file > 4 GB is attempted to be created
+ Fixes https://github.com/OSGeo/gdal/issues/5479
+
+2022-03-19 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Correct_tag_auto-registration_description' into 'master'
+ Correct reading description for anonymous tag auto-registration in addingtags.html (closes 353)
+
+ Closes #353
+
+ See merge request libtiff/libtiff!320
+
+2022-03-19 Su Laus <sulau@freenet.de>
+
+ Correct reading description for anonymous tag auto-registration in addingtags.html (closes 353)
+
+2022-03-18 Even Rouault <even.rouault@spatialys.com>
+
+ tif_lzw.c: avoid harmless unsigned-integer-overflow (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=45741)
+
+2022-03-17 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_396' into 'master'
+ tiffcp: do not try to fetch compressor-specific tags when not appropriate (fixes #396)
+
+ Closes #396
+
+ See merge request libtiff/libtiff!316
+
+2022-03-17 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_cmake_warnings' into 'master'
+ Fix some CMake warnings
+
+ See merge request libtiff/libtiff!319
+
+2022-03-17 Su Laus <sulau@freenet.de>
+
+ Fix some CMake warnings.
+
+2022-03-17 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'lzw_decode_improvements' into 'master'
+ LZWDecode(): major speed improvements
+
+ See merge request libtiff/libtiff!318
+
+2022-03-16 Even Rouault <even.rouault@spatialys.com>
+
+ LZWDecode(): major speed improvements.
+ This mostly comes from dealing specifically with codes that expand to
+ 2, 3 and 4 bytes or more to avoid branches, and dealing with longer
+ repeated sequences (e.g. lots of bytes to 0).
+
+ With the following bench.c, execution time is 32% faster on a 8000x8000
+ 4 bands uint16 predictor=2 image that has a 1.6x compression ratio. with
+ gcc 9.4.0, on x86_64
+
+ bench.c:
+ ```
+ #include "tiffio.h"
+ #include <stdlib.h>
+ #include <stdint.h>
+
+ int main(int argc, char* argv[])
+ {
+ if( argc != 2 )
+ {
+ fprintf(stderr, "Usage: ./bench my.tif\n");
+ exit(1);
+ }
+ TIFF* tif = TIFFOpen(argv[1], "r");
+ if( tif == NULL )
+ {
+ fprintf(stderr, "Cannot open %s\n", argv[1]);
+ exit(1);
+ }
+ if( !TIFFIsTiled(tif) )
+ {
+ fprintf(stderr, "Only tiled image supported\n");
+ exit(1);
+ }
+ int tilesize = (int)TIFFTileSize(tif);
+ char* c = malloc(tilesize);
+ if( c == NULL )
+ {
+ fprintf(stderr, "Out of memory\n");
+ exit(1);
+ }
+ const uint32_t numtiles = TIFFNumberOfTiles(tif);
+ //int numloops = 4 * (int)(1e9 / ((double)tilesize * numtiles));
+ //printf("Number of loops: %d\n", numloops);
+ int numloops = 1;
+ for(int i =0; i< numloops; i++)
+ {
+ for(uint32_t tileindex = 0; tileindex < numtiles; tileindex++ )
+ {
+ TIFFReadEncodedTile(tif, tileindex, c, tilesize);
+ }
+ }
+ free(c);
+ TIFFClose(tif);
+ return 0;
+ }
+ ```
+
+2022-03-16 Even Rouault <even.rouault@spatialys.com>
+
+ LZWDecode(): modest speed improvement: fetch input data by chunks of the largest natural integer of the architecture
+
+2022-03-14 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'kmilos-master-patch-45885' into 'master'
+ Correct fix for the pkgconf file relative paths
+
+ See merge request libtiff/libtiff!317
+
+2022-03-10 Even Rouault <even.rouault@spatialys.com>
+
+ tif_lzw.c: make LZW_CHECKEOS non-optional.
+
+ tiffsplit.c: fix compiler warning on 32-bit.
+
+2022-03-10 Miloš Komarčević <miloskomarcevic@aim.com>
+
+ Correct fix for the pkgconf file relative paths.
+
+2022-03-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'issue-278' into 'master'
+ fix heap buffer overflow in tiffcp (#278)
+
+ Closes #278
+
+ See merge request libtiff/libtiff!311
+
+2022-03-10 4ugustus <wangdw.augustus@qq.com>
+
+ fix heap buffer overflow in tiffcp (#278)
+
+2022-03-09 Even Rouault <even.rouault@spatialys.com>
+
+ tiffcp: do not try to fetch compressor-specific tags when not appropriate (fixes #396)
+
+2022-03-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'i_am_a_unsympathetic_person' into 'master'
+ index.html: make it clear that I'm a unsympathetic person
+
+ See merge request libtiff/libtiff!315
+
+2022-03-09 Even Rouault <even.rouault@spatialys.com>
+
+ index.html: make it clear that I'm a unsympathetic person.
+
+2022-03-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#395' into 'master'
+ tiffcrop: fix issue #395: generation of strange section images.
+
+ Closes #395
+
+ See merge request libtiff/libtiff!312
+
+2022-03-08 Su Laus <sulau@freenet.de>
+
+ tiffcrop: fix issue #395: generation of strange section images.
+
+2022-03-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#380' into 'master'
+ tiffcrop: fix issue #380 and #382 heap buffer overflow in extractImageSection
+
+ Closes #382 et #380
+
+ See merge request libtiff/libtiff!307
+
+2022-03-08 Su Laus <sulau@freenet.de>
+
+ tiffcrop: fix issue #380 and #382 heap buffer overflow in extractImageSection
+
+2022-03-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'issue-392' into 'master'
+ add checks for return value of limitMalloc (#392)
+
+ Closes #392
+
+ See merge request libtiff/libtiff!314
+
+2022-03-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'issue-393' into 'master'
+ fix the FPE in tiffcrop (#393)
+
+ Closes #393
+
+ See merge request libtiff/libtiff!310
+
+2022-03-08 4ugustus <wangdw.augustus@qq.com>
+
+ fix the FPE in tiffcrop (#393)
+
+2022-03-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'kmilos-master-patch-56785' into 'master'
+ Fix pkgconf file relative paths
+
+ Closes #394
+
+ See merge request libtiff/libtiff!309
+
+2022-03-07 Augustus <wangdw.augustus@qq.com>
+
+ add checks for return value of limitMalloc (#392)
+
+2022-03-02 Miloš Komarčević <miloskomarcevic@aim.com>
+
+ Fix pkgconf file relative paths.
+
+2022-02-25 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_385' into 'master'
+ tif_jbig.c: fix crash when reading a file with multiple IFD in memory-mapped...
+
+ Closes #385
+
+ See merge request libtiff/libtiff!306
+
+2022-02-24 Even Rouault <even.rouault@spatialys.com>
+
+ tif_jbig.c: fix crash when reading a file with multiple IFD in memory-mapped mode and when bit reversal is needed (fixes #385)
+
+2022-02-24 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'string_size_limit' into 'master'
+ _TIFFVSetField(): when passing a string without explicit length, check that...
+
+ See merge request libtiff/libtiff!304
+
+2022-02-24 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFClientOpen_cleanup' into 'master'
+ TIFFClientOpen(): remove useless initializations of tif_rawcc and tif_flags...
+
+ See merge request libtiff/libtiff!303
+
+2022-02-20 Even Rouault <even.rouault@spatialys.com>
+
+ Remove extra word in comment.
+
+ TIFFPrintDirectory(): avoid potential multi-threading issue when reading the DotRange tag
+ The severity of the issue would be low (mix of values displayed) and the
+ time window where that would occur would be short.
+
+ Constify signature of _TIFFsetXXXXArray() functions, and remove unused _TIFFsetString()
+
+ _TIFFVSetField(): when passing a string without explicit length, check that the length doesn't except the 1 << 31 maximum bytes we support
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ tiffsplit.c: fix use after free introduced in master per commit 8ed97f401552a2b4300d3c489b03dcada86a21fd (related to #290)
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#284' into 'master'
+ tiff2ps: In limitMalloc() check for negative size (fixes #284)
+
+ Closes #284
+
+ See merge request libtiff/libtiff!300
+
+2022-02-19 Su Laus <sulau@freenet.de>
+
+ tiff2ps: In limitMalloc() check for negative size (fixes #284)
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_288' into 'master'
+ tiffinfo: limit more memory allocations using -M switch (fixes #288)
+
+ Closes #288
+
+ See merge request libtiff/libtiff!299
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#290' into 'master'
+ tiffsplit: limitMalloc() and getopt() introduced and more error messages. (fixes #290)
+
+ Closes #290
+
+ See merge request libtiff/libtiff!301
+
+2022-02-19 Su Laus <sulau@freenet.de>
+
+ tiffsplit: limitMalloc() and getopt() introduced and more error messages. (fixes #290)
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#273_#275' into 'master'
+ tiffcrop: buffsize check formula in loadImage() amended (fixes #273,#275)
+
+ Closes #275 et #273
+
+ See merge request libtiff/libtiff!302
+
+2022-02-19 Su Laus <sulau@freenet.de>
+
+ tiffcrop: buffsize check formula in loadImage() amended (fixes #273,#275)
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFClientOpen(): remove useless initializations of tif_rawcc and tif_flags after TIFFReadDirectory()
+ Those initializations date back to the initial commit of libtiff, but I
+ strongly suspect there are no longer needed those days.
+ Setting tif_rawcc to (tmsize_t)-1 is weird. AFAICS, nowhere else in the library
+ -1 is used as a special markeri for that field. Immediately after TIFFReadDirectory()
+ returns it is set to 0, and this is the value used in tif_read.c/tif_write.c to
+ reset it.
+ And setting the TIFF_BUFFERSETUP bit of tif_flags is even more
+ suspicious as the only place where it is set otherwise is in
+ TIFFWriteBufferSetup(). I suspect this bogus setting of the flag was the
+ reason for commit dbf2339a1 where BUFFERCHECK() in addition to checking
+ the bit also checked the tif_rawdata against nullptr.
+
+ If setting those 2 fields was needed, it would mean that TIFFClientOpen() with the
+ 'h' hint to disable automatic TIFFReadDirectory() would be broken,
+ because someone issuing a manual TIFFReadDirectory() couldn't set them,
+ as being private members.
+
+ The libtiff test suite is happy with that change, and the GDAL one too.
+
+2022-02-19 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFFetchNormalTag(): speed optimization when reading a (very large) nul-terminated ASCII tag
+
+ TIFFWriteDirectoryTagData(): turn assertion on data length into a runtime check
+ For example, the assertion could actually be triggered when writing an
+ ASCII tag with more than 1 << 31 bytes.
+
+2022-02-17 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFFetchNormalTag(): avoid calling memcpy() with a null source pointer and size of zero (fixes #383)
+
+2022-02-15 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'tl/fix-cpack' into 'master'
+ Fix packaging with CPack
+
+ See merge request libtiff/libtiff!292
+
+2022-02-11 Even Rouault <even.rouault@spatialys.com>
+
+ tiffinfo: limit more memory allocations using -M switch (fixes #288)
+
+ tif_dirwrite.c: take into account COMPRESSION_JXL.
+
+2022-02-11 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'predictor_2_64bit' into 'master'
+ Predictor 2 (horizontal differenciation): support 64-bit
+
+ See merge request libtiff/libtiff!296
+
+2022-02-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#365' into 'master'
+ tiff2pdf: Fixes issues #365, #258 and #257 related to initializing 't2p->pdf_compressionquality'.
+
+ Closes #257, #258 et #365
+
+ See merge request libtiff/libtiff!297
+
+2022-02-10 Su Laus <sulau@freenet.de>
+
+ tiff2pdf: Fixes issues #365, #258 and #257 related to initializing 't2p->pdf_compressionquality'.
+
+2022-02-09 Even Rouault <even.rouault@spatialys.com>
+
+ Predictor 2 (horizontal differenciation): support 64-bit.
+ There's no reason not to support 64-bit. The TIFF 6 specification
+ doesn't say anything about that (and even mention 4-bit, which we don't
+ support)
+
+2022-02-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_Issue#352' into 'master'
+ tiffcrop.c: Fix issue #352 heap-buffer-overflow by correcting uint32_t underflow.
+
+ Closes #352
+
+ See merge request libtiff/libtiff!294
+
+2022-02-09 Su Laus <sulau@freenet.de>
+
+ tiffcrop.c: Fix issue #352 heap-buffer-overflow by correcting uint32_t underflow.
+
+2022-02-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'custom_dir_EXIF_Coverity_fixes' into 'master'
+ Fix Coverity Scan report issues for custom_dir_EXIF_231.c and test_directory.c
+
+ See merge request libtiff/libtiff!295
+
+2022-02-08 Su Laus <sulau@freenet.de>
+
+ Fix Coverity Scan report issues for custom_dir_EXIF_231.c and test_directory.c
+
+2022-02-06 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'cmake-test' into 'master'
+ Correct CMake testing
+
+ Closes #317
+
+ See merge request libtiff/libtiff!291
+
+2022-02-06 Even Rouault <even.rouault@spatialys.com>
+
+ LogLuvEncode32(): avoid undefined behaviour of left shift on a signed integer
+
+ TIFFFetchStripThing(): avoid calling memcpy() with a null source pointer and size of zero (fixes #362)
+
+2022-02-05 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReadDirectory(): avoid calling memcpy() with a null source pointer and size of zero (fixes #362)
+
+2022-01-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Jamaika1-master-patch-68264' into 'master'
+ Added stdlib.h
+
+ See merge request libtiff/libtiff!293
+
+2022-01-29 Jamaika <lukaszcz18@wp.pl>
+
+ tif_win32.c: include stdlib.h.
+
+2022-01-28 Timothy Lyanguzov <timothy.lyanguzov@sap.com>
+
+ Fix packaging with CPack.
+ Replace all CMAKE_INSTALL_FULL_<DIR> with CMAKE_INSTALL_<DIR> to allow CPack setting CMAKE_INSTALL_PREFIX
+
+2022-01-25 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'master' into 'master'
+ Fix the global-buffer-overflow in tiffset
+
+ See merge request libtiff/libtiff!287
+
+2022-01-25 4ugustus <wangdw.augustus@qq.com>
+
+ tiffset: fix global-buffer-overflow for ASCII tags where count is required (fixes #355)
+
+2022-01-23 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'autogen' into 'master'
+ Fix autogen.sh permissions issues during mv
+
+ See merge request libtiff/libtiff!290
+
+2022-01-23 Roger Leigh <rleigh@codelibre.net>
+
+ Correct CMake testing.
+ * Use functions rather than macros to avoid problems with variables in
+ conditions (since macro arguments are not variables)
+ * Conditionally add to file lists and test program lists based upon the
+ configuration options (e.g. JPEG and old-JPEG availability)
+ * Sync tests, files and option usage with current automake usage
+
+2022-01-19 Will Cohen <willcohen@users.noreply.github.com>
+
+ autogen.sh: mv -f for config.sub and config.guess.
+
+2022-01-12 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFYCbCrToRGBInit(): avoid Integer-overflow in gdal_TIFFYCbCrToRGBInit. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43559
+
+2022-01-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_TIFFFillStrip_wrong_check' into 'master'
+ Fix sanity check in TIFFFillStrip()/TIFFFillStrile()
+
+ See merge request libtiff/libtiff!288
+
+2022-01-10 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFFillStrip()/TIFFFillStrile(): remove useless test.
+
+ Fix sanity check in TIFFFillStrip()/TIFFFillStrile()
+ A sanity check comparing the compressed vs uncompressed file that was
+ originally written 'correctly' but relied on undefined behaviour was
+ changed in 1b5e3b6a23827c33acf19ad50ce5ce78f12b3773 in an incorrect way.
+ Fix that. Credits to @burn for spotting this in
+ https://gitlab.com/libtiff/libtiff/-/issues/343#note_806089714
+
+2021-12-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Fix_FieldName_NULL' into 'master'
+ Fix Issue #354 Segmentation Fault due to field_name=NULL
+
+ See merge request libtiff/libtiff!285
+
+2021-12-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'mingw-static' into 'master'
+ build: Fix static library imports in mingw
+
+ See merge request libtiff/libtiff!286
+
+2021-12-29 Biswapriyo Nath <nathbappai@gmail.com>
+
+ build: Fix static library imports in mingw.
+ This defines LERC_STATIC while creating libtiff static library
+ in Win32 platform in presence of lerc library. Otherwise, the
+ static library import lerc APIs with dllimport attribute and
+ thus linked with shared lerc library.
+
+2021-12-28 Su_Laus <sulau@freenet.de>
+
+ Fix Issue #354 Segmentation Fault due to field_name=NULL.
+
+2021-12-17 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_342' into 'master'
+ TIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS): return error if...
+
+ Closes #342
+
+ See merge request libtiff/libtiff!283
+
+2021-12-16 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS): return error if returned pointer is NULL (fixes #342)
+
+ tiff2pdf: validate TIFFGetField(input, TIFFTAG_STRIPBYTECOUNTS, &sbc) return (fixes #342)
+
+2021-12-16 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'master' into 'master'
+ fix raw2tiff floating point exception(fixes #338)
+
+ Closes #338
+
+ See merge request libtiff/libtiff!282
+
+2021-12-16 t.feng <t.feng94@foxmail.com>
+
+ raw2tiff: check that band number if not zero to avoid floating point exception(fixes #338)
+
+2021-12-14 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_337' into 'master'
+ OJPEG: avoid assertion when using TIFFReadScanline() (fixes #337)
+
+ Closes #337
+
+ See merge request libtiff/libtiff!280
+
+2021-12-13 Even Rouault <even.rouault@spatialys.com>
+
+ OJPEG: avoid assertion when using TIFFReadScanline() (fixes #337)
+ Note: my analyis of the issue would be that the use of the scanline API
+ is currently propably broken with OJPEG.
+
+2021-12-10 Even Rouault <even.rouault@spatialys.com>
+
+ JPEG 12bit: make it easier for GDAL's RENAME_INTERNAL_LIBTIFF_SYMBOLS mode
+
+2021-12-09 Even Rouault <even.rouault@spatialys.com>
+
+ tif_lzw.c: other warning fixes.
+
+ tif_lzw.c: fix warnings of previous commit.
+
+2021-12-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'lzw_2gb_windows' into 'master'
+ LZW codec: fix support for strips/tiles > 2 GB on Windows
+
+ See merge request libtiff/libtiff!279
+
+2021-12-08 Even Rouault <even.rouault@spatialys.com>
+
+ LZW codec: fix support for strips/tiles > 2 GB on Windows.
+
+2021-12-07 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_287' into 'master'
+ tiffinfo: add a -M switch to define the maximum heap allocation, and default...
+
+ Closes #287
+
+ See merge request libtiff/libtiff!278
+
+2021-12-06 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_319' into 'master'
+ TIFFReadDirectory: fix OJPEG hack (fixes #319)
+
+ Closes #319
+
+ See merge request libtiff/libtiff!277
+
+2021-12-06 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_309' into 'master'
+ TIFFAppendToStrip(): fix rewrite-in-place logic (fixes #309)
+
+ Closes #309
+
+ See merge request libtiff/libtiff!276
+
+2021-12-05 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'b1' into 'master'
+ Fix resource leak on error path
+
+ See merge request libtiff/libtiff!263
+
+2021-12-05 bonniegong <yuanjungong96@gmail.com>
+
+ rast2tiff: Fix resource leak on error path.
+
+2021-12-05 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffsplit-leak' into 'master'
+ tiffsplit.c: Fix memleak before exit
+
+ See merge request libtiff/libtiff!270
+
+2021-12-05 Even Rouault <even.rouault@spatialys.com>
+
+ tiffinfo: add a -M switch to define the maximum heap allocation, and default it to 256 MiB (fixes #287)
+
+ tiffinfo: fix read of invalid pointer in TIFFReadRawDataTiled() (fixes #295)
+
+2021-12-05 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReadDirectory: fix OJPEG hack (fixes #319)
+ to avoid having the size of the strip arrays inconsistent with the
+ number of strips returned by TIFFNumberOfStrips(), which may cause
+ out-ouf-bounds array read afterwards.
+
+ One of the OJPEG hack that alters SamplesPerPixel may influence the
+ number of strips. Hence compute tif_dir.td_nstrips only afterwards.
+
+2021-12-04 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFAppendToStrip(): fix rewrite-in-place logic (fixes #309)
+ Properly reset tif_curoff when writing strips/tiles
+
+2021-12-03 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReInitJPEG_12(): avoid warning about unused variable in -DNDEBUG.
+
+2021-12-01 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_316' into 'master'
+ TIFFReadCustomDirectory(): avoid crash when reading SubjectDistance tag on a non EXIF directory
+
+ Closes #316
+
+ See merge request libtiff/libtiff!273
+
+2021-12-01 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'VisualStudio_warnings_suppress' into 'master'
+ Suppress unnecessary warnings in Visual Studio in AppVeyor test.
+
+ See merge request libtiff/libtiff!234
+
+2021-11-30 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReadCustomDirectory(): avoid crash when reading SubjectDistance tag on a non EXIF directory
+ Fixes #316
+
+ The Valgrind trace was
+ ```
+ TIFFReadCustomDirectory: Warning, Unknown field with tag 37382 (0x9206) encountered.
+ ==3277355== Invalid read of size 1
+ ==3277355== at 0x4842B60: memmove (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==3277355== by 0x48BB799: _TIFFmemcpy (tif_unix.c:346)
+ ==3277355== by 0x485B3CB: _TIFFVSetField (tif_dir.c:647)
+ ==3277355== by 0x485C125: TIFFVSetField (tif_dir.c:890)
+ ==3277355== by 0x485BEDC: TIFFSetField (tif_dir.c:834)
+ ==3277355== by 0x486DA9A: TIFFFetchSubjectDistance (tif_dirread.c:5826)
+ ==3277355== by 0x4869E35: TIFFReadCustomDirectory (tif_dirread.c:4530)
+ ==3277355== by 0x4869F0A: TIFFReadGPSDirectory (tif_dirread.c:4564)
+ ==3277355== by 0x10AA7A: main (tiffinfo.c:171)
+ ==3277355== Address 0x3fc856aaaaaaaaab is not stack'd, malloc'd or (recently) free'd
+ ==3277355==
+ ```
+
+2021-11-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'add-null-check' into 'master'
+ Added missing null check.
+
+ See merge request libtiff/libtiff!274
+
+2021-11-28 Dirk Lemstra <dirk@lemstra.org>
+
+ Added missing null check.
+
+2021-11-26 Even Rouault <even.rouault@spatialys.com>
+
+ tif_print.c: remove duplicated if() in previous commit.
+
+2021-11-26 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'GPS_Print_BugFix' into 'master'
+ Fix Segmentation fault printing GPS directory if Altitude tag is present (tif_print.c/tiffinfo.c)
+
+ See merge request libtiff/libtiff!272
+
+2021-11-26 Su Laus <sulau@freenet.de>
+
+ Fix Segmentation fault printing GPS directory if Altitude tag is present (tif_print.c/tiffinfo.c)
+
+2021-11-01 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'cmake_tiffconf' into 'master'
+ Fix STRIPCHOP_DEFAULT value in CMake builds
+
+ See merge request libtiff/libtiff!271
+
+2021-11-01 Even Rouault <even.rouault@spatialys.com>
+
+ Fix STRIPCHOP_DEFAULT value in CMake builds.
+ CMake builds erroneously used value 1 instead of TIFF_STRIPCHOP, which
+ resulted in strip chopping not being enabled by default.
+
+2021-10-26 Even Rouault <even.rouault@spatialys.com>
+
+ tif_jpeg.c: typo fix.
+
+2021-10-24 Han Han <hanhanzhiyeqianke@gmail.com>
+
+ tiffsplit.c: Fix memleak before exit.
+ Details of the memleak:
+ $ valgrind --leak-check=full tiffsplit id:001763,sync:fuzzer07,src:001641,+cov
+
+ ==2090657==
+ ==2090657== HEAP SUMMARY:
+ ==2090657== in use at exit: 13,517 bytes in 17 blocks
+ ==2090657== total heap usage: 41 allocs, 24 frees, 29,351 bytes allocated
+ ==2090657==
+ ==2090657== 2,473 (1,249 direct, 1,224 indirect) bytes in 1 blocks are definitely lost in loss record 10 of 13
+ ==2090657== at 0x484086F: malloc (vg_replace_malloc.c:381)
+ ==2090657== by 0x48BF35C: TIFFClientOpen (tif_open.c:118)
+ ==2090657== by 0x48CF058: TIFFFdOpen (tif_unix.c:209)
+ ==2090657== by 0x48CF0C4: TIFFOpen (tif_unix.c:248)
+ ==2090657== by 0x10954C: main (tiffsplit.c:91)
+ ==2090657==
+ ==2090657== 11,044 (1,300 direct, 9,744 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 13
+ ==2090657== at 0x484086F: malloc (vg_replace_malloc.c:381)
+ ==2090657== by 0x48BF35C: TIFFClientOpen (tif_open.c:118)
+ ==2090657== by 0x48CF058: TIFFFdOpen (tif_unix.c:209)
+ ==2090657== by 0x48CF0C4: TIFFOpen (tif_unix.c:248)
+ ==2090657== by 0x1093D9: main (tiffsplit.c:75)
+ ==2090657==
+ ==2090657== LEAK SUMMARY:
+ ==2090657== definitely lost: 2,549 bytes in 2 blocks
+ ==2090657== indirectly lost: 10,968 bytes in 15 blocks
+ ==2090657== possibly lost: 0 bytes in 0 blocks
+ ==2090657== still reachable: 0 bytes in 0 blocks
+ ==2090657== suppressed: 0 bytes in 0 blocks
+ ==2090657==
+ ==2090657== For lists of detected and suppressed errors, rerun with: -s
+ ==2090657== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+
+2021-10-20 Even Rouault <even.rouault@spatialys.com>
+
+ tif_webp.c: add explicit cast to please MSVC verbose warnings.
+
+ tif_webp.c: white space fixi
(Patch may be truncated, please check the link at the top of this post.)