-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
14793 lines (9231 loc) · 494 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2022-12-14 Even Rouault <[email protected]>
libtiff v4.5.0rc2 preparation
2022-12-14 Su_Laus <[email protected]>
tiffinfo: update curdir from uint16_t to tdir_t for more than 64k IFD handling.
2022-12-13 Even Rouault <[email protected]>
Merge branch 'fix_502' into 'master'
Make TIFFSetDirectory(tiff, 65534) work again (fixes #502)
Closes #502
See merge request libtiff/libtiff!436
2022-12-13 Even Rouault <[email protected]>
Add tests for IFD loop detection.
Fix IFD loop detection.
Use UINT_MAX.
Make TIFF_MAX_DIR_COUNT a autoconf/CMake setting.
2022-12-13 Even Rouault <[email protected]>
Merge branch 'build-shared-by-default' into 'master'
Restore shared libraries by default
See merge request libtiff/libtiff!437
2022-12-13 shaun walbridge <[email protected]>
CMake: restore shared libraries by default for top-level build.
2022-12-12 Even Rouault <[email protected]>
Add a TIFF_MAX_DIR_COUNT public #define.
TIFFCurrentDirectory(), TIFFNumberOfDirectories(), TIFFSetDirectory(), TIFFUnlinkDirectory(): use tdir_t that is now a uint32_t, and raise limit of IFDs to 1048576
IFD loop checking: use hashmap to avoid quadratic performance.
Add a hashset/hashmap implementation (ported from GDAL's CPLHashSet)
Make TIFFSetDirectory(tiff, 65534) work again (fixes #502)
2022-12-11 Even Rouault <[email protected]>
Merge branch 'do_not_format_tiffvers_h' into 'master'
Revert formatting of tiffvers.h and add TIFFLIB_MAJOR_VERSION, TIFFLIB_MINOR_VERSION, TIFFLIB_MICRO_VERSION defines
See merge request libtiff/libtiff!434
2022-12-11 Even Rouault <[email protected]>
Merge branch 'tiffcrop_exclude_some_comment_from_clang-format' into 'master'
tiffcrop: Exclude some comments from clang-format
See merge request libtiff/libtiff!435
2022-12-11 Su Laus <[email protected]>
tiffcrop: Exclude some comments from clang-format.
2022-12-11 Even Rouault <[email protected]>
tiffvers.h.in: add clang-format off/on.
2022-12-10 Even Rouault <[email protected]>
tiffvers.h: add TIFFLIB_MAJOR_VERSION, TIFFLIB_MINOR_VERSION, TIFFLIB_MICRO_VERSION defines
Also add a TIFFLIB_AT_LEAST() macro
tiffvers.h: revert formatting.
Exclude reformatting of tiffvers.h which breaks version detection for FindTIFF.cmake
2022-12-09 Even Rouault <[email protected]>
Merge branch 'release_4_5_0' into 'master'
Prepare v4.5.0 release
See merge request libtiff/libtiff!433
2022-12-09 Even Rouault <[email protected]>
libtiff v4.5.0rc1 preparation
2022-12-08 Even Rouault <[email protected]>
Merge branch 'reformat' into 'master'
Whole code-base reformatting
See merge request libtiff/libtiff!431
2022-12-08 Even Rouault <[email protected]>
Add .git-blame-ignore-revs.
tiffcrop: remove version_id and rev_date.
2022-12-08 pre-commit run by Even Rouault <[email protected]>
Reformatting in all other directories using 'pre-commit run'
Reformatting in test/ using 'pre-commit run'
Reformatting in tools/ using 'pre-commit run'
Reformatting in libtiff/ using 'pre-commit run'
2022-12-08 Even Rouault <[email protected]>
Add .clang-format, .pre-commit-config.yaml and CONTRIBUTING.md.
Remove vim/emacs formatting footers.
2022-11-29 Even Rouault <[email protected]>
Merge branch 'fix_489' into 'master'
TIFFWriteRawStrip(): restore capabilities to append data in the current strip (fixes #489)
Closes #489
See merge request libtiff/libtiff!430
2022-11-29 Even Rouault <[email protected]>
Add test case for scenario of issue #489.
TIFFWriteRawStrip(): restore capabilities to append data in the current strip (fixes #489)
This fixes a regression of libtiff 4.4.0
2022-11-29 Even Rouault <[email protected]>
Merge branch 'manpage_re-entrant_error_handler' into 'master'
manpage update for re-entrant error handler TIFFErrorExtR(), TIFFOpenExt() and...
See merge request libtiff/libtiff!427
2022-11-29 Su Laus <[email protected]>
manpage update for re-entrant error handler TIFFErrorExtR(), TIFFOpenExt() and...
2022-11-27 Even Rouault <[email protected]>
Merge branch 'tiffcrop_fix_#169' into 'master'
tiffcrop: Add check if (bps != 1) in writeSingleSection() for...
Closes #169
See merge request libtiff/libtiff!429
2022-11-27 Su Laus <[email protected]>
tiffcrop: Add check if (bps != 1) in writeSingleSection() for...
2022-11-26 Even Rouault <[email protected]>
Merge branch 'TIFFErrorExtR_fix_missing_calls' into 'master'
TIFFErrorExt() was not replaced with TIFFErrorExtR() everywhere in libtiff....
See merge request libtiff/libtiff!428
2022-11-26 Su Laus <[email protected]>
TIFFErrorExt() was not replaced with TIFFErrorExtR() everywhere in libtiff....
2022-11-25 Even Rouault <[email protected]>
Merge branch 'tif_jpeg_build_fix' into 'master'
tif_jpeg.c: fix compilation with MSVC (fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
See merge request libtiff/libtiff!426
2022-11-25 Even Rouault <[email protected]>
tif_jpeg.c: fix compilation with MSVC (fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
2022-11-25 Even Rouault <[email protected]>
Merge branch 'fix_0fd1a81d3547acb8f5be50bbbc3e44bde01c014b' into 'master'
JPEGEncode(): fix wrong pointer data type with libjpeg-turbo 2.2dev in 12-bit mode
See merge request libtiff/libtiff!425
2022-11-25 Even Rouault <[email protected]>
JPEGEncode(): fix wrong pointer data type with libjpeg-turbo 2.2dev in 12-bit mode
(fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
2022-11-25 Even Rouault <[email protected]>
Merge branch 'libjpegturbo_dual' into 'master'
Add support for libjpeg-turbo 2.2-dev 8/12 bit dual mode
See merge request libtiff/libtiff!422
2022-11-25 Even Rouault <[email protected]>
Add support for libjpeg-turbo 2.2-dev 8/12 bit dual mode.
2022-11-23 Even Rouault <[email protected]>
Merge branch 'windows-fix' into 'master'
libtiff: Fix TIFFOpen* for the Windows platform in tif_unix.c
See merge request libtiff/libtiff!424
2022-11-23 Francois Bleibel <[email protected]>
libtiff: Fix TIFFOpen* for the Windows platform in tif_unix.c.
I'm not sure where this change was made, but it must have been in a recent update. TIFFOpenWEx is now TIFFOpenWExt, and _TIFFgetMode takes additional arguments.
Verified: Tested libtiff on a local Windows build.
2022-11-23 Even Rouault <[email protected]>
Merge branch 'tiffcrop_signed_vs_unsigned' into 'master'
tiffcrop.c: fix warning about signed vs unsigned comparison
See merge request libtiff/libtiff!423
2022-11-23 Even Rouault <[email protected]>
tiffcrop.c: fix warning about signed vs unsigned comparison.
2022-11-23 Even Rouault <[email protected]>
Merge branch 'TIFFClientOpenExt_warning_fix' into 'master'
TIFFClientOpenExt(): fix warning on 32-bit platforms (master only)
See merge request libtiff/libtiff!421
2022-11-23 Even Rouault <[email protected]>
TIFFClientOpenExt(): fix warning on 32-bit platforms (master only)
2022-11-23 Even Rouault <[email protected]>
Merge branch 'tiffcp_TIFFOpenOptionsFree_memleak_fix' into 'master'
tiffcp: fix leak of TIFFOpenOptionsAlloc() introduced in latest commit (master only)
See merge request libtiff/libtiff!420
2022-11-23 Even Rouault <[email protected]>
tiffcp: fix leak of TIFFOpenOptionsAlloc() introduced in latest commit (master only)
Fixes Coverity CID 1517032
2022-11-23 Even Rouault <[email protected]>
Merge branch 'TIFFOpenOptionsSetMaxSingleMemAlloc' into 'master'
Add TIFFOpenOptionsSetMaxSingleMemAlloc() to define a limit in bytes for a single memory allocation done by libtiff
See merge request libtiff/libtiff!419
2022-11-23 Even Rouault <[email protected]>
Emit explicit error message when tif_max_single_mem_alloc is exceeded.
test_open_options: test TIFFOpenOptionsSetMaxSingleMemAlloc()
Rename test_error_handlers to test_open_options.
tiffinfo, tiffcp, tiffcrop, tiffsplit, tiff2rgba, tiff2ps: use TIFFOpenOptionsSetMaxSingleMemAlloc()
Convert uses of _TIFFmalloc/realloc/calloc/free to the Ext functions.
2022-11-22 Even Rouault <[email protected]>
Add TIFFOpenOptionsSetMaxSingleMemAlloc()
to define a limit in bytes for a single memory allocation done by libtiff.
Also add internal functions used in replacement of the non Ext ones:
void* _TIFFmallocExt(TIFF* tif, tmsize_t s);
void* _TIFFcallocExt(TIFF* tif, tmsize_t nmemb, tmsize_t siz);
void* _TIFFreallocExt(TIFF* tif, void* p, tmsize_t s);
void _TIFFfreeExt(TIFF* tif, void* p);
2022-11-22 Even Rouault <[email protected]>
Merge branch 'TIFFOpenEx' into 'master'
Add TIFFOpenExt(), TIFFOpenWExt() and TIFFFdOpenExt() with re-entrant error handlers
See merge request libtiff/libtiff!413
2022-11-21 Even Rouault <[email protected]>
Remove TIFFSetErrorHandlerExtR() and TIFFSetWarningHandlerExtR() that were temporarily added in master
Add a _TIFFErrorEarly() function to be able to use the re-entrant error handler, even before TIFF* is valid
Rework TIFFOpenExt() and similar to use an opaque TIFFOpenOptions* opts argument, with alloc, free and setters
Document TIFFOpenExt, TIFFOpenWExt, TIFFFdOpenExt, TIFFClientOpenExt, TIFFSetErrorHandlerExtR, TIFFSetWarningHandlerExtR
2022-11-21 Even Rouault <[email protected]>
Add TIFFOpenExt(), TIFFOpenWExt() and TIFFFdOpenExt() with re-entrant error handlers
Rename TIFFClientOpenEx() to TIFFClientOpenExt()
Rework signature of the re-entrant error handlers and of
TIFFSetWarningHandlerExt() and TIFFSetErrorHandlerExt()
Use structures that can be extended as extra argument.
Leverages and ammends https://gitlab.com/libtiff/libtiff/-/merge_requests/409
2022-11-21 Even Rouault <[email protected]>
Merge branch 'manpage_fix485_file-descriptor_clientdata' into 'master'
manpage: Correct description of file handle/descriptors tif_fd and tif_clientdata. Closes #485.
Closes #485
See merge request libtiff/libtiff!418
2022-11-21 Su Laus <[email protected]>
manpage: Correct description of file handle/descriptors tif_fd and tif_clientdata. Closes #485.
2022-11-20 Even Rouault <[email protected]>
Merge branch 'manpage_fix440_fix28_TIFFOpen_SubIFD_update' into 'master'
manpage: fix28, fix440, update TIFFOpen and SubIFD
Closes #440 et #28
See merge request libtiff/libtiff!417
2022-11-20 Su Laus <[email protected]>
manpage: fix28, fix440, update TIFFOpen and SubIFD.
2022-11-17 Even Rouault <[email protected]>
Merge branch 'cmake_tiff_install_warning' into 'master'
CMakeLists.txt: fix warning with -Wdev
See merge request libtiff/libtiff!416
2022-11-13 Even Rouault <[email protected]>
CMakeLists.txt: fix warning with -Wdev.
```
CMake Warning (dev) at CMakeLists.txt:62 (option):
Policy CMP0077 is not set: option() honors normal variables. Run "cmake
--help-policy CMP0077" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
For compatibility with older versions of CMake, option is clearing the
normal variable 'tiff-install'.
This warning is for project developers. Use -Wno-dev to suppress it.
```
2022-11-12 Even Rouault <[email protected]>
Merge branch 'fix_479' into 'master'
_TIFFReadEncodedTileAndAllocBuffer(): avoid excessive memory allocation on...
See merge request libtiff/libtiff!412
2022-11-12 Even Rouault <[email protected]>
Merge branch 'typo_fix' into 'master'
tif_dirread.c: fix typo in comment
See merge request libtiff/libtiff!414
2022-11-12 Even Rouault <[email protected]>
tif_dirread.c: fix typo in comment.
2022-11-11 Even Rouault <[email protected]>
_TIFFReadEncodedTileAndAllocBuffer(): avoid excessive memory allocation on broken files (fixes #479)
2022-11-10 Even Rouault <[email protected]>
Merge branch 'bugfix/tiff2pdf-stdout' into 'master'
tiff2pdf Don't try to seek into stdout.
See merge request libtiff/libtiff!367
2022-11-10 Claus-Justus Heine <[email protected]>
tiff2pdf: Don't try to seek into stdout.
Fixes #441
2022-11-08 Even Rouault <[email protected]>
Merge branch 'fix_coverity_1516759' into 'master'
TIFFErrorExtR(): fix Dereference after null check (CID 1516759)
See merge request libtiff/libtiff!411
2022-11-08 Even Rouault <[email protected]>
Merge branch 'fix_ossfuzz_53137' into 'master'
TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB
See merge request libtiff/libtiff!410
2022-11-08 Even Rouault <[email protected]>
TIFFErrorExtR(): fix Dereference after null check (CID 1516759)
2022-11-08 Even Rouault <[email protected]>
Merge branch 'no_sprintf' into 'master'
Replace sprintf calls with snprintf
See merge request libtiff/libtiff!408
2022-11-08 Mark Mentovai <[email protected]>
Replace sprintf calls with snprintf.
This makes it possible to build libtiff without warnings using the macOS
13 SDK. Calls to sprintf are replaced with snprintf, passing appropriate
buffer sizes.
It doesn’t appear that any of the changed uses of sprintf were actually
unsafe, so no behavior change is expected aside from SDK compatibility.
The macOS 13 SDK deprecates sprintf as it’s difficult to use safely. The
deprecation warning message is visible when building C++, but it is not
normally visible when building plain C code due to a quirk in how
sprintf is declared in the SDK. However, the deprecation message is
visible when building plain C under Address Sanitizer
(-fsanitize=address). This discrepancy was discovered at
https://crbug.com/1381706 and reported to Apple with a copy at
https://openradar.appspot.com/FB11761475.
The macOS 13 SDK is packaged in Xcode 14.1, released on 2022-11-01. This
also affects the iOS 16 SDK and other 2022-era Apple OS SDKs packaged in
Xcode 14.0, released on 2022-09-12.
libtiff is visible to the Chromium build via PDFium, and this change is
needed to allow Chromium to move forward to the macOS 13 SDK.
This change is limited to the libtiff directory. Other uses of sprintf
were found in contrib, test, and tools.
2022-11-08 Even Rouault <[email protected]>
Merge branch 'reentrant' into 'master'
Add reentrant error functions
See merge request libtiff/libtiff!409
2022-11-08 Even Rouault <[email protected]>
TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53137
2022-11-08 Laramie Leavitt <[email protected]>
Add reentrant error functions.
Prior to this change, libtiff relied on global error handlers,
which is problematic when libtiff used by multiple independent
libraries from within the same process, as they may unwittingly
clobber the error handling, introduce race conditions when setting
handlers, or otherwise have unintended side effects.
This change adds error handlers to the TIFF struct, which are
used preferentially when available. The error handlers are invoked
when the re-entrant error functions are called:
void TIFFErrorExtR(TIFF*, const char* module, const char* fmt, ...)
void TIFFWarningExtR(TIFF*, const char* module, const char* fmt, ...)
The handlers have a similar signature to the existing extended
handlers, additionally returning an int:
int TIFFErrorHandlerExtR(thandle_t, const char*, const char*, va_list)
thandle_t is the userdata passed to TIFFOpen
When the handler returns 1, the global handlers are not called.
Custom error/warning handlers may be installed on a per-file
basis by calling the Set functions:
TIFF* tif = TIFFOpen(...);
TIFFSetErrorHandlerExtR(tif, MyErrorHandler);
TIFFSetWarningHandlerExtR(tif, MyWarningHandler);
Additionally, the callsites to TIFFErrorExt and TIFFWarningExt
have been updated to call the reentrant versions.
2022-11-08 Even Rouault <[email protected]>
Merge branch 'tiffcrop_fix_CoverityScan_tmsize_issue' into 'master'
tiffcrop: should fix some Coverity Scan issues OVERFLOW_BEFORE_WIDEN
See merge request libtiff/libtiff!403
2022-11-08 Su Laus <[email protected]>
tiffcrop: should fix some Coverity Scan issues OVERFLOW_BEFORE_WIDEN.
2022-11-02 Even Rouault <[email protected]>
Merge branch 'typo_fix' into 'master'
tif_dirread.c: fix typo in comment
See merge request libtiff/libtiff!407
2022-11-02 Even Rouault <[email protected]>
tif_dirread.c: fix typo in comment.
2022-10-23 Even Rouault <[email protected]>
Merge branch 'tiffcrop_formatting_fix' into 'master'
tiffcrop: add casts in TIFFError() to fix compiler warnings
See merge request libtiff/libtiff!406
2022-10-23 Even Rouault <[email protected]>
Merge branch 'fix_482' into 'master'
CMake: correctly set default value of 'lzma' option when liblzma is detected (fixes #482)
Closes #482
See merge request libtiff/libtiff!404
2022-10-23 Even Rouault <[email protected]>
tiffcrop: add casts in TIFFError() to fix compiler warnings.
CMake: correctly set default value of 'lzma' option when liblzma is detected (fixes #482)
2022-10-20 Even Rouault <[email protected]>
Merge branch 'fix_480' into 'master'
Fix incorrect printf() formatters introduced in recent commits (fixes #480)
Closes #480
See merge request libtiff/libtiff!401
2022-10-19 Even Rouault <[email protected]>
Fix incorrect printf() formatters introduced in recent commits (fixes #480)
2022-10-13 Even Rouault <[email protected]>
Merge branch 'CLIPPATH_tags_corrected' into 'master'
CLIPPATH tags defined twice but differently and also wrongly (#439) - corrected
Closes #439
See merge request libtiff/libtiff!366
2022-10-13 Even Rouault <[email protected]>
Merge branch 'FIELD_IGNORE_warning-messages' into 'master'
Warning messages for FIELD_IGNORE tags for writing and for TIFF_SETGET_UNDEFINED for reading added. (#438)
Closes #438
See merge request libtiff/libtiff!365
2022-10-13 Su Laus <[email protected]>
Warning messages for FIELD_IGNORE tags for writing and for TIFF_SETGET_UNDEFINED for reading added. (#438)
2022-10-13 Even Rouault <[email protected]>
Merge branch 'tag-def_COMPRESSION_corrected' into 'master'
tif_dirinfo.c TIFFTAG_COMPRESSION and _BITSPERSAMPLE definition corrected
See merge request libtiff/libtiff!364
2022-10-13 Even Rouault <[email protected]>
Merge branch 'fix_getopt_included_twice' into 'master'
Fix including module getopt.c twice with CMake and HAVE_GETOPT=false
See merge request libtiff/libtiff!381
2022-10-13 Even Rouault <[email protected]>
Merge branch 'tiffcrop_CoverityScan_fix_PRINTF_ARGS' into 'master'
tiffcrop: fix Coverity Scan issues about PRINTF_ARGS.
See merge request libtiff/libtiff!400
2022-10-13 Su_Laus <[email protected]>
tiffcrop fix Coverity Scan issues about PRINTF_ARGS.
2022-10-13 Even Rouault <[email protected]>
Merge branch 'tiffcrop_fix_#450_too-many-mode-options' into 'master'
tiffcrop: fix #450 too many 'mode' options on command line.
Closes #470 et #450
See merge request libtiff/libtiff!384
2022-10-13 Su Laus <[email protected]>
tiffcrop: fix #450 too many 'mode' options on command line.
2022-10-13 Even Rouault <[email protected]>
Merge branch 'tiffcrop_fix_#435' into 'master'
tiffcrop subroutines require a larger buffer (fixes #271, #381, #386, #388, #389, #435)
Closes #465, #464, #435, #389, #388, #386, #381 et #271
See merge request libtiff/libtiff!382
2022-10-13 Su Laus <[email protected]>
tiffcrop subroutines require a larger buffer (fixes #271, #381, #386, #388, #389, #435)
2022-10-12 Even Rouault <[email protected]>
Merge branch 'InkNames_NumberOfInks_handling_revised' into 'master'
Revised handling of TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value (fixes #149, #150, #152, #168, #250, #269, #398 and #456)
Closes #474, #463, #387, #456, #398, #269, #250, #168, #152, #150 et #149
See merge request libtiff/libtiff!385
2022-10-12 Even Rouault <[email protected]>
Merge branch 'tiffcrop_fix_#411_#413' into 'master'
tiffcrop: disable incompatibility of -Z, -X, -Y, -z options with any PAGE_MODE_x option (fixes #411, #413 and #426)
Closes #426, #413 et #411
See merge request libtiff/libtiff!383
2022-10-10 Even Rouault <[email protected]>
Merge branch 'TIFFAdvanceDirectory_mapped_uio' into 'master'
TIFFAdvanceDirectory(): fix unsigned-integer-overflow in mapped case
See merge request libtiff/libtiff!398
2022-10-10 Even Rouault <[email protected]>
TIFFAdvanceDirectory(): fix unsigned-integer-overflow in mapped case.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52309
2022-10-08 Even Rouault <[email protected]>
Merge branch 'tiffinfo_parse_SubIFDs' into 'master'
tiffinfo: Updated to parse through SubIFDs and show their tags.
See merge request libtiff/libtiff!396
2022-10-08 Su Laus <[email protected]>
tiffinfo: Updated to parse through SubIFDs and show their tags.
2022-10-07 Roger Leigh <[email protected]>
Merge branch 'master' into 'master'
Moved linking of CMath::CMath into CMath_LIBRARY check
See merge request libtiff/libtiff!397
2022-10-07 Frei Herr <[email protected]>
Moved linking of CMath::CMath into CMath_LIBRARY check.
2022-10-06 Even Rouault <[email protected]>
Merge branch 'rational_precision2double_coverity-fix' into 'master'
rational_precision2double.c: Fix issue from Coverity Scan.
See merge request libtiff/libtiff!395
2022-10-06 Su_Laus <[email protected]>
rational_precision2double.c: Fix issue from Coverity Scan.
Fix including module getopt.c twice with CMake and HAVE_GETOPT=false.
The "make-files" for the tools- and test- programmes include the module getopt.c once directly as additional source and then again by including port.lib.
This can be avoided by including getopt.c as source in port.lib within port\CMakeLists.txt not with PUBLIC but with PRIVATE.
2022-10-06 Even Rouault <[email protected]>
Merge branch 'fix-455_Improved-IFD-loop-handling' into 'master'
Improved IFD-Loop Handling (fixes #455)
Closes #455
See merge request libtiff/libtiff!386
2022-10-06 Su Laus <[email protected]>
Improved IFD-Loop Handling (fixes #455)
IFD infinite looping was not fixed by MR 20 (see #455).
An improved IFD loop handling is proposed.
Basic approach:
- The order in the entire chain must be checked, and not only whether an offset has already been read once.
- To do this, pairs of directory number and offset are stored and checked.
- The offset of a directory number can change.
- TIFFAdvanceDirectory() must also perform an IFD loop check.
- TIFFCheckDirOffset() is replaced by _TIFFCheckDirNumberAndOffset().
Rules for the check:
- If an offset is already in the list, it must have the same IFD number. Otherwise it is an IDF loop.
- If the offset is not in the list and the IFD number is greater than there are list entries, a new list entry is added.
- Otherwise, the offset of the IFD number is updated.
Reference is also made to old bugzilla bug 2772 and MR 20, which did not solve the general issue.
This MR closes #455
2022-10-05 Roger Leigh <[email protected]>
Merge branch 'fix-cmake-subproject' into 'master'
Fix CMake build to be compatible with FetchContent
See merge request libtiff/libtiff!394
2022-10-04 Timothy Lyanguzov <[email protected]>
Apply 9 suggestion(s) to 3 file(s)
2022-10-04 Jeremy Maitin-Shepard <[email protected]>
Fix CMake build to be compatible with FetchContent.
Recent versions of CMake have improved support for including
dependencies, using the FetchContent module, which allows a dependency
to be imported as a subproject and then later found automatically by
calls to `find_package`.
This change makes libtiff's CMake better behaved when used as a
sub-project:
- CMake has a single global namespace for all target names in all
sub-projects. This commit renames the following CMake targets:
- port -> tiff_port
- mkg3states -> tiff_mkg3states
- faxtable -> tiff_faxtable
- release -> tiff_release
- When building TIFF as a sub-project, it is not normally useful to
create install rules for its targets. This commit adds a
`tiff-install` option that controls whether the install rules are
added and defaults to OFF when libtiff is included as a sub-project.
- Previously, libtiff set `BUILD_SHARED_LIBS` to ON by default. With
this commit, that default is only set if libtiff is the top-level
project.
- When using `find_package(TIFF)`, the targets `TIFF::TIFF` and
`TIFF::CXX` are defined. This commit makes libtiff itself define
those targets as aliases, to allow other cmake projects to use
either `find_package` or `FetchContent` interchangeably.
- Adds ZSTD_HAVE_DECOMPRESS_STREAM variable which may be set to bypass
`check_symbol_exists` call. Fixes
https://gitlab.com/libtiff/libtiff/-/issues/472.
2022-09-27 Even Rouault <[email protected]>
Merge branch 'getimage_overflow' into 'master'
Update getimage to support reading large raster images
See merge request libtiff/libtiff!389
2022-09-26 Even Rouault <[email protected]>
Merge branch 'MinGW-warnings_ipctutil' into 'master'
Fix #458: MinGW Windows 64: warning because 'long' is a 32 bits type in...
Closes #458
See merge request libtiff/libtiff!391
2022-09-26 Su Laus <[email protected]>
Fix #458: MinGW Windows 64: warning because 'long' is a 32 bits type in...
2022-09-16 Eric Siegel <[email protected]>
Update getimage to support large raster images.
2022-09-08 Even Rouault <[email protected]>
Merge branch 'typo_fix' into 'master'
tif_lzw.c: fix typo in code comment
See merge request libtiff/libtiff!387
2022-09-08 Even Rouault <[email protected]>
tif_lzw.c: fix typo in code comment.
2022-08-30 Su_Laus <[email protected]>
Revised handling of TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value
In order to solve the buffer overflow issues related to TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value, a revised handling of those tags within LibTiff is proposed:
Behaviour for writing:
`NumberOfInks` MUST fit to the number of inks in the `InkNames` string.
`NumberOfInks` is automatically set when `InkNames` is set.
If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
Behaviour for reading:
When reading `InkNames` from a TIFF file, the `NumberOfInks` will be set automatically to the number of inks in `InkNames` string.
If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
This allows the safe use of the NumberOfInks value to read out the InkNames without buffer overflow
This MR will close the following issues: #149, #150, #152, #168 (to be checked), #250, #269, #398 and #456.
It also fixes the old bug at http://bugzilla.maptools.org/show_bug.cgi?id=2599, for which the limitation of `NumberOfInks = SPP` was introduced, which is in my opinion not necessary and does not solve the general issue.
2022-08-25 Su_Laus <[email protected]>
tiffcrop: disable incompatibility of -Z, -X, -Y, -z options with any PAGE_MODE_x option (fixes #411 and #413)
tiffcrop does not support –Z, -z, -X and –Y options together with any other PAGE_MODE_x options like -H, -V, -P, -J, -K or –S.
Code analysis:
With the options –Z, -z, the crop.selections are set to a value > 0. Within main(), this triggers the call of processCropSelections(), which copies the sections from the read_buff into seg_buffs[].
In the following code in main(), the only supported step, where that seg_buffs are further handled are within an if-clause with if (page.mode == PAGE_MODE_NONE) .
Execution of the else-clause often leads to buffer-overflows.
Therefore, the above option combination is not supported and will be disabled to prevent those buffer-overflows.
The MR solves issues #411 and #413.
2022-08-21 Even Rouault <[email protected]>
Merge branch 'tiffcrop_S-option_mutually_exclusive' into 'master'
tiffcrop: -S option mutually exclusive (fixes #349, #414, #422, #423, #424)
Closes #424, #423, #422, #414 et #349
See merge request libtiff/libtiff!378
2022-08-20 Su_Laus <[email protected]>
tiffcrop -S option: Make decision simpler.
2022-08-20 Even Rouault <[email protected]>
Merge branch 'remove_death_commented_code' into 'master'
Remove dead code from tif_dirread.c, tif_dirwrite.c and tif_getimage.c
See merge request libtiff/libtiff!380
2022-08-20 Su Laus <[email protected]>
Remove dead code from tif_dirread.c, tif_dirwrite.c and tif_getimage.c.
2022-08-16 Even Rouault <[email protected]>
Merge branch 'coverity_fixes' into 'master'
Silence Coverity Scan false positive warnings about out-of-bounds access
See merge request libtiff/libtiff!379
2022-08-16 Even Rouault <[email protected]>
tif_zip.c: silence Coverity Scan false positive warnings about out-of-bounds access (CID 1491190, 1491197, 1491201)
tif_dirread.c: silence Coverity Scan false positive warnings about out-of-bounds access (CID 1491182, 1491186)
2022-08-16 Even Rouault <[email protected]>
Merge branch 'default_tag_values_extended' into 'master'
Presetting of default tag values extended (e.g. PlanarConfig). (fixes #449)
Closes #449
See merge request libtiff/libtiff!377
2022-08-16 Su Laus <[email protected]>
Presetting of default tag values extended (e.g. PlanarConfig). (fixes #449)
2022-08-15 Su_Laus <[email protected]>
According to Richard Nolde https://gitlab.com/libtiff/libtiff/-/issues/401#note_877637400 the tiffcrop option „-S“ is also mutually exclusive to the other crop options (-X|-Y), -Z and -z.
This is now checked and ends tiffcrop if those arguments are not mutually exclusive.
This MR will fix the following tiffcrop issues: #349, #414, #422, #423, #424
2022-08-09 Even Rouault <[email protected]>
Merge branch 'warning_fix' into 'master'
Fix warning about shadowing
See merge request libtiff/libtiff!376
2022-08-09 Even Rouault <[email protected]>
Fix warning about shadowing.
2022-08-09 Even Rouault <[email protected]>
Merge branch 'fix_225' into 'master'
Deal with RichTIFFIPTC tag written with LONG type (fixes #225)
Closes #225
See merge request libtiff/libtiff!374
2022-08-09 Even Rouault <[email protected]>
Merge branch 'Writing_IFD8_to_ClassicTIFF_bugfix' into 'master'
Correcting defects reported by Coverity Scan for MR !369
See merge request libtiff/libtiff!375
2022-08-09 Su Laus <[email protected]>
Correcting defects reported by Coverity Scan for MR !369.
2022-08-09 Even Rouault <[email protected]>
Merge branch 'fix_442_Writing_IFD8_to_ClassicTIFF' into 'master'
TIFFSetValue(): Writing IFD8 & LONG8 tags to ClassicTIFF corrected (fixes #442)
Closes #442
See merge request libtiff/libtiff!369
2022-08-09 Su Laus <[email protected]>
TIFFSetValue(): Writing IFD8 & LONG8 tags to ClassicTIFF corrected (fixes #442)
2022-08-09 Even Rouault <[email protected]>
Deal with RichTIFFIPTC tag written with LONG type (fixes #225)
2022-08-07 Roger Leigh <[email protected]>
Merge branch 'manpage-functions-added' into 'master'
doc: Missing public functions added to TIFF documentation in Sphinx
See merge request libtiff/libtiff!372
2022-08-07 Su Laus <[email protected]>
doc: Missing public functions added to TIFF documentation in Sphinx.
2022-07-29 Even Rouault <[email protected]>
Merge branch 'tifjpeg_version_check' into 'master'
tif_jpeg.c: allow to pass -DEXPECTED_JPEG_LIB_VERSION=number to do optional...
See merge request libtiff/libtiff!373
2022-07-29 Even Rouault <[email protected]>
tif_jpeg.c: allow to pass -DEXPECTED_JPEG_LIB_VERSION=number to do optional compile-time version check
2022-07-21 Even Rouault <[email protected]>
Merge branch 'TIFFReadFromUserBuffer_fix' into 'master'
TIFFReadFromUserBuffer(): fix clearing of TIFF_CODERSETUP flag that could...
See merge request libtiff/libtiff!371
2022-07-21 Even Rouault <[email protected]>
TIFFReadFromUserBuffer(): fix clearing of TIFF_CODERSETUP flag that could cause issues with reading JPEG compressed files
2022-07-21 Roger Leigh <[email protected]>
Merge branch 'vs2022-fixes' into 'master'
cmake: Correct duplicate definition of _CRT_SECURE_NO_WARNINGS
Closes #443
See merge request libtiff/libtiff!370
2022-07-13 Roger Leigh <[email protected]>
cmake: Correct duplicate definition of _CRT_SECURE_NO_WARNINGS.
2022-07-13 Even Rouault <[email protected]>
Merge branch 'vs2022-fixes' into 'master'
cmake: Fixes for Visual Studio 2022