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

2021-10-04  Even Rouault  <even.rouault@spatialys.com>

	Merge branch 'work/amyspark/psd-blobs' into 'master'
	Enable writing Photoshop blobs

	See merge request libtiff/libtiff!269

2021-10-04  L. E. Segovia  <amy@amyspark.me>

	Enable writing Photoshop blobs.

2021-09-29  Even Rouault  <even.rouault@spatialys.com>

	Merge branch 'remove_packbits_hack' into 'master'
	PackBitsDecode: remove hack for when char is unsigned.

	See merge request libtiff/libtiff!267

2021-09-28  Even Rouault  <even.rouault@spatialys.com>

	PackBitsDecode: remove hack for when char is unsigned.
	The function has a hack for platforms where char is unsigned. This is
	better replaced by making bp a int8_t* pointer, which is guaranteed to
	be signed.

2021-09-27  Even Rouault  <even.rouault@spatialys.com>

	tiffcrop.c: remove useless 'set but not read' variables.

2021-09-23  Even Rouault  <even.rouault@spatialys.com>

	Merge branch 'fix_gdal_4538' into 'master'
	TIFFAppendToStrip(): fix rewrite-in-place logic

	See merge request libtiff/libtiff!266

