libtiff: Prepare for release 4.4.0

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.)