Commit Graph

3517 Commits

Author SHA1 Message Date
Even Rouault
a712dc3f42 Merge branch 'freebsd-tests' into 'master'
make tests pass under FreeBSD.

See merge request libtiff/libtiff!113
2020-03-05 22:26:11 +00:00
Thomas Bernard
ed9d09cf0a
make tests pass under FreeBSD.
the -I option for the GNU diff and the FreeBSD diff
behaves differently regarding escaping the ( ) and |

By using two -I option, we avoid using such charracters.
2020-03-05 23:15:06 +01:00
Even Rouault
a6d3c1d64b Merge branch 'issue-31' into 'master'
HTML

Closes #31

See merge request libtiff/libtiff!111
2020-03-05 11:45:15 +00:00
Even Rouault
d71530462f Merge branch 'issue-179' into 'master'
tif_fax3.h: check for buffer overflow in EXPAND2D before "calling" CLEANUP_RUNS()

Closes #179

See merge request libtiff/libtiff!112
2020-03-05 11:39:34 +00:00
Thomas Bernard
a9f96b79d7
v4.1.0.html: fix for validation
long <!----------------> comments were replaced
because they confused some parsers
2020-03-05 11:57:23 +01:00
Thomas Bernard
f5d1d8df7b
add DOCTYPE on v*.html 2020-03-05 11:43:57 +01:00
Thomas Bernard
690cc7a701 fix HTML files so they are valid according to https://validator.w3.org 2020-03-05 11:38:31 +01:00
Thomas Bernard
b351db8be1
tif_fax3.h: check for buffer overflow in EXPAND2D before "calling" CLEANUP_RUNS()
fixes #179

this fixes the regression introduced in 02bb0175 / 72c4acef
( merge request !110 )

It may be a better fix to do the overflow check in SETVALUE() but the
macro do { } while(0) construct makes it difficult to quit the loop
properly.
2020-03-05 10:27:04 +01:00
Thomas Bernard
535830c277
index.html: fix unclosed <tt> tag 2020-03-01 22:26:55 +01:00
Thomas Bernard
794ec1ad50
html: do not force colors (which are default anyway)
If needed, style should be set using CSS.

fixes #31
https://gitlab.com/libtiff/libtiff/issues/31
http://bugzilla.maptools.org/show_bug.cgi?id=2326
2020-03-01 22:25:29 +01:00
Even Rouault
25b274126d
TIFFReadCustomDirectory(): fix potential heap buffer overflow when reading a custom directory, after a regular directory where a codec was active. Fixes https://gitlab.com/libtiff/libtiff/issues/178 2020-03-01 22:22:01 +01:00
Even Rouault
18ca4b4276 Merge branch 'issue-46' into 'master'
fix decoding of fax4 images

Closes #46

See merge request libtiff/libtiff!110
2020-03-01 10:39:07 +00:00
Thomas Bernard
72c4acef4b
tif_fax3: better fix for CVE-2011-0192
There are some legitimate case which were forbidden by the previous fix
2020-03-01 00:38:59 +01:00
Thomas Bernard
02bb01750f
tif_fax3.h: allow 0 length run in DECODE2D
fixes #46
https://gitlab.com/libtiff/libtiff/issues/46
http://bugzilla.maptools.org/show_bug.cgi?id=2434
2020-02-29 23:30:07 +01:00
Even Rouault
bd03e1a27f Merge branch 'mingwlibm' into 'master'
Don't use libm with libtiff due to conflict with libmsvcrt

See merge request libtiff/libtiff!73
2020-02-29 18:08:09 +00:00
Even Rouault
c8c5309b76 Merge branch 'Rational2DoublePrecision_correction' into 'master'
tif_dirwrite.c: bugfix DoubleToSrational() for plain signed integers

See merge request libtiff/libtiff!109
2020-02-29 18:04:50 +00:00
Su_Laus
30222c13d6 tif_dirwrite.c: bugfix DoubleToSrational(), which returns plain signed interger values always as unsigned rationals.
Add a test into rational_precision2double.c for "-1.0" and some editorials in tif_dirwrite.c.
(code is related to 6df997c786 changes).
2020-02-29 17:59:59 +01:00
Even Rouault
d04e3d26c5 Merge branch 'issue-174' into 'master'
tif_fax3.c: check buffer overflow in Fax4Decode()

Closes #174

See merge request libtiff/libtiff!108
2020-02-29 11:35:15 +00:00
Thomas Bernard
df38126420
Fax4Decode(): log error message in case of buffer overrun 2020-02-29 11:28:01 +01:00
Thomas Bernard
c4710ee226
tif_fax3.c: check buffer overflow in Fax4Decode()
fixes #174
2020-02-29 11:17:25 +01:00
Even Rouault
a6fa499e20
typo fixes in code comments 2020-02-29 01:17:17 +01:00
Even Rouault
facb37f149
ToRationalEuclideanGCD: remove useless test that confuses Coverity Scan about a potential later modulo by zero 2020-02-28 20:40:27 +01:00
Even Rouault
388a1dba72
tif_dirwrite.c: fix other warnings related to 6df997c786 changes 2020-02-27 22:02:58 +01:00
Even Rouault
721120d0d7
rational_precision2double.c: fix many warnings, and do not build it on CMake on shared lib builds 2020-02-27 22:00:41 +01:00
Even Rouault
edc16ac20a
tif_dirwrite.c: fix various warnings found when building GDAL with internal libtiff after 6df997c786 changes 2020-02-27 21:50:59 +01:00
Even Rouault
8c4b470889
tif_dirwrite.c: qualify ToRationalEuclideanGCD() with static 2020-02-27 21:30:28 +01:00
Even Rouault
27a1338723 Merge branch 'Rational2DoublePrecision' into 'master'
Rational with Double Precision Upgrade

See merge request libtiff/libtiff!100
2020-02-27 20:28:18 +00:00
Su_Laus
6df997c786 Rational with Double Precision Upgrade
Unfortunately, custom rational tags (TIFF_RATIONAL with field_bit=FIELD_CUSTOM) are defined as TIFF_SETGET_DOUBLE
but for the reading interface and LibTiff internally they are stored ALLWAYS as floating point SINGLE precision.
Double precision custom rational tags are not supported by LibTiff.

For the GPS tags in WGS84 a higher accuracy / precision is needed.
Therefore, this upgrade is made, keeping the old interface for the already defined tags and allowing a double precision definition,
as well as calculating rationals with higher accuracy / precision.
This higher accuracy can be used for newly defined tags like that in EXIF/GPS.

Refer also to the very old Bugzilla issue 2542 (#69)

A test file rational_precision2double.c is added, which shows prevention of the old interface to the already defined custom rational tags
with the standard library as well as with the upgraded library.

Also TIFFTAG_XRESOLUTION, TIFFTAG_YRESOLUTION, TIFFTAG_XPOSITION, TIFFTAG_YPOSITION amended from TIFF_SETGET_DOUBLE to TIFF_SETGET_FLOAT and testcase inserted in rational_precision2double.c
2020-02-27 21:11:20 +01:00
Chris Degawa
16377d39ea
mingw-w64 cmake: Don't find libm
mingw-w64 will provide libm symbols by default without -lm and mingw-64's
libm is just a stub.

This is just to make sure that on systems with msys2 and also cygwin, cmake
doesn't find a libm that actually contains math functions.
2020-02-26 23:03:32 +00:00
Even Rouault
06d6e36187 Merge branch 'division-by-zero' into 'master'
tools/tiffcp.c: fix potential division by zero

See merge request libtiff/libtiff!83
2020-02-26 21:37:54 +00:00
Even Rouault
bf53c80aea Merge branch 'fix-unused-warning' into 'master'
warnings: mark conditionally used parameters

See merge request libtiff/libtiff!49
2020-02-26 21:31:27 +00:00
Even Rouault
a1b7eac5e8 Merge branch 'master' into 'master'
fix issue #78 warnings regarding RichTIFFIPTC data type

Closes #78

See merge request libtiff/libtiff!99
2020-02-26 21:25:42 +00:00
Even Rouault
e3f0b1d894 Merge branch 'win64-handle-casts-warn-fix' into 'master'
Avoid warnings about casts between HANDLE and int in Win64 builds

Closes #2

See merge request libtiff/libtiff!93
2020-02-26 21:23:57 +00:00
Even Rouault
2a4d9b4fab Merge branch 'bug2839' into 'master'
raw2tiff: avoid divide by 0

Closes #151

See merge request libtiff/libtiff!103
2020-02-26 21:22:26 +00:00
Even Rouault
2832b9829f Merge branch 'bug2669' into 'master'
tiff2pdf: palette bound check in t2p_sample_realize_palette()

Closes #82

See merge request libtiff/libtiff!104
2020-02-26 21:21:09 +00:00
Even Rouault
e9a124f52f Merge branch 'int-shift' into 'master'
tiffcrop: fix asan runtime error caused by integer promotion

See merge request libtiff/libtiff!105
2020-02-26 21:20:10 +00:00
Even Rouault
a7276b9198 Merge branch 'bug-2538' into 'master'
libtiff.html: fix function casing

Closes #68

See merge request libtiff/libtiff!107
2020-02-26 21:17:27 +00:00
Thomas Bernard
bdcf1add10
raw2tiff: avoid divide by 0
fixes #151 / http://bugzilla.maptools.org/show_bug.cgi?id=2839

first memcmp() lines before computing corellation
and always avoid divide by 0 anyway
2020-02-16 19:20:37 +01:00
Even Rouault
b4820b2179 Merge branch 'bug2855' into 'master'
tiff2ps: fix heap buffer read overflow in PSDataColorContig()

Closes #161

See merge request libtiff/libtiff!102
2020-02-09 13:11:39 +00:00
Thomas Bernard
8c9dca34be libtiff.html: fix function casing 2020-02-08 18:02:15 +01:00
Thomas Bernard
2cdc041d62
libtiff.html: fix function casing
fixes #68 / http://bugzilla.maptools.org/show_bug.cgi?id=2538
2020-02-08 17:54:51 +01:00
Thomas Bernard
4f168b7368
tiffcrop: fix asan runtime error caused by integer promotion
tiffcrop.c:4027:20: runtime error: left shift of 190 by 24 places cannot be represented in type 'int'

C treats (byte << 24) as an int expression.
casting explicitely to unsigned type uint32 avoids the problem.

the same issue has been fixed elsewhere with a242136916

I detected the bug with the test file of #86
2020-02-08 13:43:35 +01:00
Thomas Bernard
3107393354
tiff2pdf: palette bound check in t2p_sample_realize_palette()
fixes #82
2020-02-08 13:27:51 +01:00
Thomas Bernard
ebf0864306
tiff2ps: fix heap buffer read overflow in PSDataColorContig()
fixes #161 / http://bugzilla.maptools.org/show_bug.cgi?id=2855

in 05029fb7f1 I missed that 1 extra byte is read
in this loop.
2020-02-08 12:10:56 +01:00
Even Rouault
3334704ebc
tif_dirread.c: suppress CLang static Analyzer 9.0 false positive 2020-02-06 01:25:03 +01:00
Even Rouault
37a02ad493
TIFFSetupStrips: enforce 2GB limitation of Strip/Tile Offsets/ByteCounts arrays
TIFFWriteDirectoryTagData() has an assertion that checks that the
arrays are not larger than 2GB. So error out earlier if in that situation.
2020-02-01 18:11:11 +01:00
Bob Friesenhahn
7a335a32eb Simplify nmake configuration for building port directory. Now there
is only one boolean setting to enable building strtoll() and strtoull()
port functions.  The boolean setting enables the necessary port files
to be built, but the remainder of the logic is via pre-processor code
in the common tif_config.h, which was prepared before entering the
port directory to do a build.
2020-01-29 08:03:39 -06:00
Bob Friesenhahn
ed3b07c4e2 Make sure that tif_config.h is produced prior to entering the port
directory and add an include path so that the port files can include
tif_config.h.  Do not actually include tif_config.h at this time
since CMake and Autotools builds are not prepared for that.  This
issue could be handled by updating the CMake and Autotools builds
or by adding a define which directs libport.h to include tif_config.h.
2020-01-28 08:16:05 -06:00
Bob Friesenhahn
550f8708d2 Fix nmake build mistakes in my last commit:
tif_config.vc.h:

  Always define HAVE_STRTOL/HAVE_STRTOUL.
  Define HAVE_STRTOLL/HAVE_STRTOULL if _MSC_VER >= 1900.

nmake.opt:

  Provide defaults suitable for MSVC prior to 14.0.

libport.h:

  The sense of the pre-processor logic was inverted from what it
  should be.  The intention is to only provide the prototype if the
  function is missing.
2020-01-26 19:17:23 -06:00
Bob Friesenhahn
58b16f47a8 Add nmake build support for manually configuring the 'port' files to be
built based on MSVC features.
Include tif_config.h in tools/tiffset.c.
2020-01-25 14:11:05 -06:00