Commit Graph

2624 Commits

Author SHA1 Message Date
clanmills
327b3f6c4d Fix https://github.com/Exiv2/exiv2/issues/83 2017-09-29 13:59:12 +01:00
Robin Mills
2f0104879a Merge pull request #81 from piponazo/robinChanges
Robin changes
2017-09-29 10:15:21 +01:00
clanmills
d43cd82002 Fix #80 2017-09-29 10:01:22 +01:00
Luis Díaz Más
8ad49f6d73 Robin changes in sync with master changes 2017-09-28 19:42:57 +02:00
Dan Čermák
74cb5bab13 Fixed wrong brackets: size*count + pad can overflow before the cast
=> Should fix #76 (most of the work has been done by Robin Mills in
   6e3855aed7)

The problem with #76 is the contents of the 26th IFD, with the
following contents:
tag: 0x8649
type: 0x1
count: 0xffff ffff
offset: 0x4974

The issue is the size of count (uint32_t), as adding anything to it
causes an overflow. Especially the expression:
(size*count + pad+20)
results in an overflow and gives 20 as a result instead of
0x100000014, thus the condition in the if in the next line is false
and the program continues to run (until it crashes at io.read).

To properly account for the overflow, the brackets have to be removed,
as then the result is saved in the correctly sized type and not cast
after being calculated in the smaller type.

The brackets have also been removed from bigtiffimage.cpp, where the
same issue is present.
2017-09-27 23:38:49 +02:00
Robin Mills
d8ae4484ae msvc support for bigtiffimage.cpp 2017-09-27 12:24:41 +01:00
Robin Mills
e1948c7ff9 msvc/bigtiffimage support 2017-09-27 11:17:11 +01:00
clanmills
6e3855aed7 Fix https://github.com/Exiv2/exiv2/issues/55 2017-09-27 09:20:13 +01:00
Robin Mills
197375dfa4 Merge pull request #72 from Kicer86/bigtiff
Some improvements, crash fix.
2017-09-24 20:43:31 +01:00
Michał Walenciak
9acc1c56a7 adding ifd8 and long longs to is8ByteType() 2017-09-24 16:07:26 +02:00
Michał Walenciak
4837d8cf58 changing header + some warning fix 2017-09-22 21:22:55 +02:00
Robin Mills
6fd0bc9e10 Adding ./configure support for bigtiffimage.cpp 2017-09-22 19:05:40 +01:00
clanmills
678e2b8517 Explicitly list files to be processed CMake generated builds [remove file(GLOB...)] 2017-09-22 10:05:11 +01:00
Michał Walenciak
734a2c3d57 fixing TODO 2017-09-21 18:15:12 +02:00
Michał Walenciak
e3ff1ba694 fixing indent 2017-09-21 18:15:12 +02:00
Michał Walenciak
4629227358 fix for IPTCNAA
dir_offset was used instead of offset
2017-09-21 18:15:12 +02:00
Michał Walenciak
4f6f5b4946 removing conditional_byte_swap* functions 2017-09-21 18:15:12 +02:00
Michał Walenciak
b6e79357de Adding 8-byte swap functions + consts 2017-09-21 18:15:12 +02:00
Michał Walenciak
f96d84ba8c dropping dead code 2017-09-21 18:15:12 +02:00
Michał Walenciak
50ecf672b5 using Internal::indent() 2017-09-21 18:15:12 +02:00
Michał Walenciak
f8ac7a5dc3 renaming Tiff to StandardTiff 2017-09-21 18:15:12 +02:00
Michał Walenciak
d460bbdb3f fix for standard tiff case 2017-09-21 18:15:12 +02:00
Michał Walenciak
81aa8828e0 applying dff941ad7f 2017-09-21 18:15:12 +02:00
Michał Walenciak
874daede53 fixing broken print for 'offset' column 2017-09-21 18:15:12 +02:00
Michał Walenciak
8b07982bf2 variable names cleanup 2017-09-21 18:15:12 +02:00
Michał Walenciak
1a1dc3afd4 simplifying code 2017-09-21 18:15:12 +02:00
Michał Walenciak
c6cbf69c49 first attempt to read both - standard and big tiff 2017-09-21 18:15:12 +02:00
Michał Walenciak
972e302cba some cleanups 2017-09-21 18:15:12 +02:00
Michał Walenciak
3c9817339a Dropping BasicIo& io parameter.
We already have acces to it via Image class
2017-09-21 18:15:12 +02:00
Michał Walenciak
65722a0020 dropping bSwap parameter
Member is better.
2017-09-21 18:15:12 +02:00
Michał Walenciak
7e291ef226 Encapsulating Header's members 2017-09-21 18:15:12 +02:00
Michał Walenciak
cb3857c675 removing useles code 2017-09-21 18:15:12 +02:00
Michał Walenciak
ff21b5a962 restore position if necessary 2017-09-21 18:15:12 +02:00
Michał Walenciak
cc8c470620 fix header read + tag name dump 2017-09-21 18:15:12 +02:00
Michał Walenciak
5ab1a0809d adopt to style 2017-09-21 18:15:12 +02:00
Michał Walenciak
5fa328737a moving implementation from stand alone parser 2017-09-21 18:15:12 +02:00
Michał Walenciak
c008ad2403 making tag related functions private 2017-09-21 18:15:12 +02:00
Michał Walenciak
307faae830 introducing tiff Header + header builder function 2017-09-21 18:15:12 +02:00
Michał Walenciak
ab27bfab3c introducing getULongLong() 2017-09-21 18:15:12 +02:00
Michał Walenciak
dc331ee44a implementing isBigTiffType 2017-09-21 18:15:12 +02:00
Michał Walenciak
b3aa2adf31 initial implementation of newBigTiffInstance() 2017-09-21 18:15:12 +02:00
Michał Walenciak
bc6eed0b03 registering new file type 2017-09-21 18:15:12 +02:00
mfg92
97d7a04ea8 Added support for 'Tamron SP 15-30mm f/2.8 Di VC USD A012' and 'Tamron SP 90mm f/2.8 Di VC USD MACRO1:1'.
But there is no distinction between the F004 and the F017 Versions of the 90mm.
Fixed Bug #1306 and #1304 (partly)
2017-09-20 15:36:29 +02:00
Robin Mills
f9d0be42b5 Merge pull request #69 from marisn/master
Fix crash on undefined metadata on some Nikon images
2017-09-19 10:20:18 +01:00
clanmills
21ac4ac61a Test suite changes due to https://github.com/Exiv2/exiv2/pull/68 2017-09-19 10:17:46 +01:00
Māris Nartišs
591dea579a Fix crash on undefined metadata on some Nikon images.
Identical to commit:5405d61623e82896e498c5c8342dd6f42e689115
2017-09-18 23:37:40 +03:00
Michał Walenciak
dff941ad7f Do not print offset when it is used as tag's value 2017-09-18 22:32:52 +02:00
Robin Mills
22aaff8682 Fix cmakeBuild.cmd --static to use zlibstatic.lib 2017-09-15 20:15:58 +01:00
clanmills
d366943297 Refactoring EXV_USE_CURL and EXV_USE_SSH 2017-09-13 16:54:10 +01:00
clanmills
012d630125 Polish options. Move exv_conf.h to directory include/exiv2 2017-09-13 15:33:16 +01:00