clanmills
e7d113dc42
fix_1208_NikonLens_0.27
5 years ago
clanmills
ea28be68e9
Fixing fedora/mingw build breaker. https://gitlab.com/D4N/exiv2/-/jobs/555626122 Thanks to @D4N for this discovery.
5 years ago
clanmills
5f6738a098
get http.cpp to call WSAStartup() on Cygwin and MinGW
5 years ago
clanmills
5b4743301e
The smart robot at codeCover/lgtm spotted typos in the code! Robot's almost as smart as Dan!
5 years ago
clanmills
c920f2ac44
CurlIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
5 years ago
clanmills
f768fc0a42
RemoteIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
5 years ago
clanmills
2bad338b9d
Fix compiler warning on macOS about enforce condition being always true.
5 years ago
clanmills
ec979d522a
Changes following review.
5 years ago
clanmills
5b07d9d8d6
Removed print0x9286() from tags.cpp. Codecov detected that this code is no longer used! Amazing.
...
Functionality now in exif.cpp std::ostream& Exifdatum::write(std::ostream& os, const ExifData* pMetadata) const.
5 years ago
clanmills
7515d85a09
Fix exiv2 option --binary to enable report of long binary values.
5 years ago
clanmills
9df691c0c5
Report Comments as charset=encoding data (not charset="encoding" data)
5 years ago
clanmills
cca0245d87
Fix compiler warning.
5 years ago
clanmills
43b06b6814
Don't allow binary into the output stream!
5 years ago
Robin Mills
a1abe21a71
Discussion: https://github.com/Exiv2/exiv2/issues/1200#issuecomment-623975537
5 years ago
Robin Mills
99aa8881a2
$ make version_test segfaults on FreeBSD when called from an ssh script.
5 years ago
Robin Mills
2e568e762b
Fix version= for Visual Studio 2019.
5 years ago
clanmills
0a06dc9ee4
Issue identified in #1101 master/MinGW/Qt. Apply the change here (although this is working on 0.27-maintenance)
5 years ago
clanmills
cd5c3e4ff9
Remove target_compile_features(exiv2 PRIVATE cxx_std_98) from src/exiv2
5 years ago
clanmills
63a13e8620
Adding option -DEXIV2_BUILD_USE_C++11
5 years ago
Robin Mills
df04671976
Enforce cxx_std_98 in samples, unit_tests, and exiv2 application (to eliminate 2305 GCC unique_ptr warnings)
5 years ago
Robin Mills
47d89a56bb
Merge pull request #1176 from Exiv2/0.27_cxx_standard
...
fix_1163 Require c++98 privately only in library target
5 years ago
clanmills
92f2458229
fix_1180_date_separator
5 years ago
Luis Diaz Mas
235087af4e
Do not call tell() in File::eof() - Fix tests & performance
5 years ago
Luis Diaz Mas
fabfcac274
Require c++98 privately only in the library target
5 years ago
clanmills
904fa19d1c
Code changes
5 years ago
clanmills
13565be3d2
Change for solaris.
5 years ago
clanmills
3226573376
fix_1004_0.27
5 years ago
Robin Mills
e077261c99
Merge branch '0.27-maintenance' into fix_1033_0.27
5 years ago
Robin Mills
817b2073a1
Merge branch '0.27-maintenance' into fix_1045_0.27
5 years ago
Robin Mills
2e19ee08c5
Merge branch '0.27-maintenance' into fix_1047_0.27
5 years ago
Robin Mills
181cab661b
Merge branch '0.27-maintenance' into fix_1091_0.27
5 years ago
Robin Mills
9cbcb8878c
Merge branch '0.27-maintenance' into fix_1069_0.27
5 years ago
clanmills
3ee25009ee
fix_1033_0.27
5 years ago
clanmills
cc1a6033db
fix_1045_0.27
5 years ago
Robin Mills
adf97f997d
Merge branch '0.27-maintenance' into fix_1091_0.27
5 years ago
clanmills
ef58603260
fix_1047_0.27
5 years ago
clanmills
c51573c92e
fix_1049_0.27
5 years ago
Robin Mills
3c01ad78f3
Merge branch '0.27-maintenance' into fix_1069_0.27
5 years ago
clanmills
571d056222
fix_1091_0.27
5 years ago
clanmills
9333f0d3f5
fix_1069_0.27 #1069
5 years ago
clanmills
d0d6ff2e9b
fix_1059_0.27
5 years ago
clanmills
c49cdd6395
Code changes.
5 years ago
clanmills
18ed65a25f
fix_Sony2010e_0.27 Thanks to @sridharb1
5 years ago
clanmills
a7683f95a7
Detab src/pentaxmn_int.cpp
5 years ago
Robin Mills
0fe6817177
Merge branch '0.27-maintenance' into fix_1084_0.27
5 years ago
clanmills
8f15784314
fix_1084_0.27
5 years ago
Robin Mills
8382225850
Merge branch '0.27-maintenance' into fix_1099_0.27
5 years ago
Robin Mills
2956309afd
Merge branch '0.27-maintenance' into fix_1099_0.27
5 years ago
clanmills
7658d8aefd
fix_macOS_0.27
5 years ago
clanmills
698b418f73
fix_1097_0.27
5 years ago
clanmills
82087b58e4
fix_1099_0.27
5 years ago
dbeichl
188ddab7cc
Merge branch '0.27-maintenance' into 0.27-maintenance-makernote-update
5 years ago
Daniel Beichl
3fe4460a23
Add various attributes for canon maker note
...
- Decode Attributes CameraType, AEB, SlowShutter, AutoISO,
CameraTemperature, FlashGuideNumber, BulbDuration and AutoRotate
- Small signedness fix to decode printFiFocusDistance to return Infinite
5 years ago
Daniel Beichl
529fa8770f
Add nikon 153 point phase af
5 years ago
Daniel Beichl
b45c82e091
Add some values to panasonic focus mode attribute
5 years ago
Robin Mills
cfdd1c7b3f
Pointless change to trigger CI which is beefing about test_issue_987 which has been removed.
5 years ago
Robin Mills
8de479f83e
Merge branch '0.27-maintenance' into fix1001_rename_AFPrimaryPoint
5 years ago
clanmills
db1be4ae8e
fix_1046_pt-GPSProcessingMethod
5 years ago
Fredrik Strandin
5360d82c4a
Add ID for Tokina atx-i 11-16mm F2.8 CF (Nikon)
...
Fixes #1078
(cherry picked from commit 2870a1648e86b777afa0ae1540ea4791482d1354)
6 years ago
Andreas Sturmlechner
0890d66a6e
EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
...
0.9.1 remains broken regardless and is beyond fixing in this place.
Build-tested with both libssh 0.9.0 and 0.9.2.
Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
6 years ago
David-Tillmann Schaefer
b8bf9cc4fd
changes comma in aperture to dot to match the other exif entries
...
(cherry picked from commit 054bc9068b3c4e83be97e42d1a8c9829c2c83e1b)
6 years ago
derselbst
70b0c17421
Fix a memory leak in CiffHeader::read()
...
Memory for pPadding_ was allocated with new[] .
6 years ago
derselbst
ccf4b59c91
Merge remote-tracking branch 'origin/0.27-maintenance' into fix1001_rename_AFPrimaryPoint
6 years ago
Luis Díaz Más
20a9e5affe
Fix format-overflow warnings by using bigger buffer
6 years ago
clanmills
8859209b95
fix_1004_lens_exiftool_compatibility
6 years ago
Robin Mills
4852bd2ab2
fix_910_remote_io_block+1
6 years ago
Jens Georg
b7890776c6
crwimage: Check offset and size against total size
...
Corrupted or specially crafted CRW images might exceed the overall
buffersize.
Fixes #1019
(cherry picked from commit 683451567284005cd24e1ccb0a76ca401000968b)
6 years ago
Robin Mills
05538ebea2
fix1001_rename_AFPrimaryPoint
6 years ago
Robin Mills
7844b11e4b
[xmpsdk] Add XMP Initialisation/Cleanup code to all main() programs
...
- update documentation
- Removed redundant calls to Exiv2::XmpParser::terminate() (legacy of our
discusssion with @tester0077).
- this fixes #976
6 years ago
clanmills
1b917c3f7d
Fix #1011 fix_1011_jp2_readmetadata_loop
6 years ago
clanmills
4cf040ac4a
Install man page from man/man1/exiv2.1
6 years ago
clanmills
90f9f0bc19
Add support for Exif.Canon.AF tags to be read from images
...
This PR (and fix981_canonAutoFocus2) use a decoder listed in TiffMappingInfo to
decode Exif.Canon.AFInfo. The decoding function "manufactures" Exif tags such as
Exif.Canon.AFNumPoints from the data in Exif.Canon.AFInfo. These tags must never
be written to file and are removed from the metadata in
exif.cpp/ExifParser::encode().
Three of the tags created (AFPointsInFocus,AFPointsSelected, AFPrimaryPoint) are
bitmasks. As the camera can have up to 64 focus points, the tags are a 64 bit
mask to say which points are active. The function printBitmask() reports data
such as 1,2,3 or (none).
This decoding function decodeCanonAFInfo() added to TiffMappingInfo manufactures
the new tags. Normally, tags are processed by the binary tag decoder and that
approach was taken in branch fix981_canonAf. However, the binary tag decoder
cannot deal with AFInfo because the size of some metadata arrays cannot be
determined at compile time.
6 years ago
sat3ll
d59d929eb2
add ID for Sigma APO MACRO 180mm F3.5 EX DG (nikon)
...
(cherry picked from commit 9852e21761d962a7deb1e5e9673b3b5f5018dbfb)
6 years ago
Marek Kubica
515569030b
Remove AF designator from Tamron 70-200 G1
...
This removes the AF from the name of the lens thus matching the name
that lensfun and exiftool determine.
(cherry picked from commit a573f9795baa1cf8a68296a80114fdc575f84319)
6 years ago
Kevin Backhouse
edb4bf78ca
Add bounds check to MemIo::seek(). ( #944 )
...
- Regression test for missing bounds check in MemIo::seek()
- Add bounds check to MemIo::seek(), this fixes CVE-2019-13504
(cherry picked from commit bd0afe0390439b2c424d881c8c6eb0c5624e31d9)
Additional fixes for 0.27:
- Add fix for the linux variant of MemIo::seek
- Change type of variable from unsigned to signed
6 years ago
Robin Mills
76d2798172
Pushing very helpful suggestion by @lantw44
6 years ago
clanmills
94a777609e
fix947_FreeBSD_BasicError_typeinfo
6 years ago
Luis Díaz Más
e925bc5add
Fix integer overflow by checking size against header_size
...
Note that the problem occurs when data_size is less than header_size
what causes a buffer overflow in &data[i]
Co-Authored-By: D4N <dan.cermak@cgc-instruments.com>
6 years ago
Luis Diaz Mas
c4bfd0f0f1
Remove linkage with -ldl
...
The code using dlopen/dlclose/etc was removed from version.cpp in the past
6 years ago
Luis Díaz Más
113136e134
Replace DEBUG with EXIV2_DEBUG_MESSAGES
...
Fixes #926
6 years ago
Kevin Backhouse
cb7dc5a528
Check for integer overflows in mrwimage.cpp
6 years ago
Robin Mills
ab375fb074
Add support for FocusPosition in Sony RAW files ( #906 )
...
* Fix 582 Add support for FocusPosition in Sony RAW files
* Thanks to @boardhead sonyFpCrypt() works correctly. Removed debug code. Fixed typos.
* Update doc/templates/Makefile to process Sony2Fp
* Following review by @boardhead. Renamed sonyFpCrypt() as sonyTagDecipher().
* Fixed writing the tag thanks to @boardhead explaining encipher/decipher.
Sadly, ArrayCfg/crpyt does not know if he's encrypting/decrypting.
I've added a sniff in TiffEncoder::visitBinaryArrayEnd to avoid changing the API.
* Added URL to discussion concerning sonyTagCipher()
* make sonyTagCipher() a static function with no external visibility.
6 years ago
Robin Mills
0a47d93ccf
Add README-SAMPLES.md and remove exiv2samples.1 ( #921 )
...
* Add README-SAMPLES.md and remove exiv2samples.1
* Remove samples man page from CMake
* Add all sample programs to Doxygen.
* Adding links to source code on exiv2.org
Authored-By: Robin Mills <robin@clanmills.com>
Authored-By: Luis Díaz Más <piponazo@gmail.com>
6 years ago
Luis Díaz Más
df5054b910
Merge branch '0.27-maintenance' into 0.27-use-libssh-config
6 years ago
Andreas Sturmlechner
e85ce17fc9
Switch to libssh's own libssh-config.cmake
...
This is provided by libssh since 2013.
6 years ago
Andreas Sturmlechner
6819f2ac45
Fix install path of exiv2ConfigVersion.cmake
...
This seems to have been caused by duplicate work between master branch
and 0.27-maintenance branch, as commit 3b48249eeb350301dfb3efa3ba6f7d7b162455be
had already got that right.
6 years ago
Robin Mills
db3a260167
Changes following code review.
6 years ago
Robin Mills
b6f82a8f58
Change byte order in nikonAf22Cfg to invalidByteOrder (see #880 and #885 ).
6 years ago
Robin Mills
bd1e7522c2
Simplification of TiffDecoder::decodeTiffEntry().
6 years ago
Robin Mills
b02c80f7e4
fix646_NikonAF22
6 years ago
Luis Diaz Mas
43ed51f609
DLL information depends now on proper definition
6 years ago
clanmills
d8a513b7df
Updated following code review.
6 years ago
clanmills
742cd5885b
Fixing Windows build-breaker for EXV_UNICODE_PATH in `Protocol fileProtocol(const std::wstring& path)`
6 years ago
clanmills
ab0b97c729
fix895-ICCProfile-FalseWarning
6 years ago
Robin Mills
5a3afa9cbe
Update man page src/exiv2.1 to clarify overwrite policy with command rename
...
This fixes #662
6 years ago
sat3ll
2beefab719
Add Tamron SP 70-300mm f/4-5.6 Di VC USD (Model: A030) (Nikon Mount)
...
(cherry picked from commit 1640ac8d0ca8bbb975f7a986bf0537545423fffc)
6 years ago
Robin Mills
2451e7ba56
fix880_NikonEndian
6 years ago
clanmills
b1ed1bf246
fix743_NikonSigmaArtLens
6 years ago
Kevin Backhouse
b35c43e7c2
Remove call to atol, which might read off the end of the buffer. ( #870 )
6 years ago
Kevin Backhouse
9092b422e6
Prevent out-of-bounds read. ( #868 )
6 years ago
Kevin Backhouse
6068df4c01
Add better bounds checking in PngImage::printStructure(). ( #862 )
6 years ago
Kevin Backhouse
109d5df7ab
Check bounds of jpg_img_off and jpg_img_len. ( #858 )
6 years ago
Kevin Backhouse
1c1436e94e
Add bounds check of resourceSize. ( #856 )
6 years ago
Kevin Backhouse
80cd0d2990
Add bounds check on allocation size. ( #854 )
6 years ago
Kevin Backhouse
81ae213c71
Check bounds of allocation size. ( #848 )
6 years ago
Kevin Backhouse
7798ae2557
Throw an exception if the data location is invalid. ( #842 )
6 years ago
Kevin Backhouse
8dc87a1214
Add bounds check. ( #840 )
6 years ago
Kevin Backhouse
43f154f44b
Merge two enforces into one.
6 years ago
Kevin Backhouse
d3e69f6d2c
Add bounds check on allocation size.
6 years ago
Kevin Backhouse
c0ecc2ae36
Avoid integer overflow.
6 years ago
Robin Mills
f4a37c63f2
version.cpp Pragma removed. Platform includes simplified.
...
cmake/packaging.cmake Changed comment about VS version numbers
6 years ago
Robin Mills
b8af098285
Removed redundant _MSC_VER pragma to link psapi as the link is specified in CMakeLists.txt.
...
Simplified the platform include files required to support getLoadedLibraries()
6 years ago
Robin Mills
955962eaa8
Code revisions after review by @piponazo
6 years ago
Robin Mills
b0a9cb5624
NetBSD/FreeBSD Support
6 years ago
Kevin Backhouse
6a44698abc
Small change to comment.
6 years ago
Kevin Backhouse
3c818f49d9
Revert accidental whitespace change.
6 years ago
Kevin Backhouse
3faeaefbf5
Improve portability of bounds checks.
6 years ago
Kevin Backhouse
86816c0280
Fix signed/unsigned mismatch.
6 years ago
Kevin Backhouse
caa4e6745a
Avoid negative integer overflow when `filesize < io_->tell()`.
...
This fixes #791 .
6 years ago
clanmills
db870755b9
fix #818 . Restore 0.25 behaviour of `$ exiv2 -g image ...` to apply grep to keys.
6 years ago
Kevin Backhouse
8cd95e2218
Avoid negative integer overflow when `chunkLength == 0`.
...
This fixes #789 .
6 years ago
Luis Díaz Más
f05d100579
CURL lib and include directories private for exiv2lib
...
(cherry picked from commit 5d64a0b11c5a45dd9d58c56e946301f3f98942a7)
6 years ago
Kevin Backhouse
6fa2e31206
Avoid negative integer overflow when `iccOffset > chunkLength`.
...
This fixes #790 .
6 years ago
Robin Mills
fe3f3248dd
Fix in sidecar files #589
6 years ago
Kevin Backhouse
ae20c30805
Avoid null pointer exception due to NULL return value from strchr.
...
This fixes #793 .
6 years ago
Robin Mills
78676b2a02
Fix #798
6 years ago
Robin Mills
7a9c928efb
Fix to exiv2.1 man page for v0.27.1
6 years ago
Robin Mills
514ae0fa89
Fix #780
6 years ago
Luis Díaz Más
51f3910413
[jp2image] Limit data representation to 30 bytes
...
- fixes #744
6 years ago
D4N
adfc01f2e0
Update tests/bugfixes/github/test_issue_742.py
...
Co-Authored-By: piponazo <piponazo@gmail.com>
(cherry picked from commit 39d8904696338d5bd4a9c7e9a96a798a791d0973)
6 years ago
Luis Diaz Mas
25ddbaa6c0
Make subBox.length check in jp2image.cpp more robust
...
(cherry picked from commit a154b992ccad71a7d95a94cdedb933fa66a51b61)
6 years ago
Luis Díaz Más
8c81e1146c
clang-format Jp2Image::printStructure()
...
(cherry picked from commit b6e4ca0a8cfff1ad0f6040901382863cccee33cb)
# Conflicts:
# src/jp2image.cpp
6 years ago
Luis Díaz Más
051b5d9df1
Fix #742 by detecting incorrect subBox size
...
(cherry picked from commit 1bdd3eab5ebdde324dbfecc3fb6d6495b32d2e4d)
6 years ago
Dan Čermák
5e6c2855ce
[NikonMakerNote] Fix overread in Nikon1MakerNote::print0x0088
...
This function was printing the string from the array of strings nikonFocusArea,
but it wasn't verifying that the array index is actually valid.
Now this function will output "Invalid value" instead of crashing.
6 years ago
clanmills
282e99b6b0
Fix #610
...
(cherry picked from commit 54367e18ed0bf8bae6d8449341a6f82779f6d3c7)
6 years ago
Luis Díaz Más
9296067b95
Fix access to null pointer in TiffParser
6 years ago
Luis Díaz Más
4265ac5e0f
exiv2-xmp linked privately
6 years ago
Seth Parker
892d39e3bf
Add missing libintl include dirs to exiv2lib_int and exiv2
6 years ago
Michał Walenciak
6887822243
removing unused header generation
6 years ago
Michał Walenciak
a7340a3801
removinf usage of EXIV2_DEPRECATED macro
...
It can expand to [[deprecated]] which cannot be combined
with result of EXIV2API macro expansion: __attribute__(...)
6 years ago
Michał Walenciak
aae88060ca
Use ${CMAKE_INSTALL_LIBDIR} as proper files location
6 years ago
Michał Walenciak
4ddd44e9da
create & install exiv2ConfigVersion.cmake
6 years ago
Luis Diaz Mas
127c2eac0e
Fix warnings on MSVC
7 years ago
Luis Díaz Más
704fc56d52
Keep the profileName from readMetadata and use it in writeMetadata
7 years ago
Luis Díaz Más
e385599067
Refactoring to make the doe more readable. Fix icc tests
7 years ago
Luis Díaz Más
436b0f87b5
Add missing header when -DDEBUG is present
7 years ago
Luis Díaz Más
d1097fab59
Factor our function to read PNG Chunk info
7 years ago
Luis Díaz Más
914a8c5585
Factor out exception throw in different places inside isPngType
7 years ago
Luis Diaz Mas
88f22e13cb
Fix ICC profile in PNG images
7 years ago
Luis Diaz Mas
6abdb7e77a
Install new file exiv2lib_compiler_detection.h
7 years ago
Luis Diaz Mas
9d62998973
cmake: compile video sources conditionally
7 years ago
Luis Díaz Más
798396e71a
cmake: use CONAN_PKG::OpenSSL only if NOT APPLE
7 years ago
Luis Díaz Más
08478c3217
Fix SSL linking issues on Windows
7 years ago
Luis Díaz Más
4fa2bc7008
Propagate CURL linkage when it is enabled
7 years ago
Luis Díaz Más
04c9b181cc
Fix #644 . Export specializations of BasicError
...
- Only export BasicError::setMsg which is the only implementation present in the .cpp
- Only export BasicError specialization on __APPLE__
It seems that gcc automatically adds the attribute when the visibility
settings are set to hidden. See this link for more information:
https://reviews.llvm.org/D35388
7 years ago
Luis Diaz Mas
6f8d8e3da6
cleanup header inclusions in API
7 years ago
Luis Diaz Mas
acc9fa012d
Reliable detection of strerror_r variants
7 years ago
Andreas Schneider
ed3a0f1341
cmake: Install header files without globbing
...
Fixes #627
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb)
7 years ago
Andreas Schneider
6062b1b803
cmake: Rename xmp to exiv2-xmp to avoid name conflicts
...
There is already a libxmp file by the xmp project on https://xmp.sf.net .
To avoid issues prefix with exiv2.
Fixes #624
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 89509d7a3915ba474cbc3f8c85ab9bec4954ceda)
7 years ago
Alexander Steffen
8453ef0466
Add Tamron SP 24-70mm f/2.8 Di VC USD G2 for Canon
...
Fixes #330 .
7 years ago
Alexander Steffen
f586d57bb1
Add various Sigma and Canon lenses
7 years ago
Alexander Steffen
cf4f14c67b
Add new IDs for Sigma lenses with firmware 2.00
...
The firmware update changed the IDs, so that the same lens may now be known
under different IDs.
7 years ago
Natanael Copa
63f1fde85b
Fix path for errno.h
...
Fix warnings when built with musl libc by using the correct path for
errno.h as defined in POSIX.
Fixes the following warning:
In file included from /home/ncopa/src/exiv2/src/http.cpp:74:
/usr/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp]
#warning redirecting incorrect #include <sys/errno.h> to <errno.h>
^~~~~~~
7 years ago
Natanael Copa
480430d397
Fix usage of strerror_r
...
Only GNU libc has implementation of the GNU variant of strerror_r, so
also for __GLIBC__ to determine which strerror_r implemenation to use.
This fixes build with musl libc, which makes some, but not all, GNU
extensions available with _GNU_SOURCE.
7 years ago
Luis Díaz Más
17fecb358f
Merge branch 'master' of https://github.com/FreddieWitherden/exiv2 into FreddieWitherden-master
7 years ago
Robin Mills
a9404154bc
Fix: https://github.com/Exiv2/exiv2/issues/585
7 years ago
Robin Mills
88ec8b88ea
Fix #562 for 32 bit builds (don't throw arithmetic exception).
7 years ago
Robin Mills
a33041a8b7
Fix: https://github.com/Exiv2/exiv2/issues/562 for stringFormat() crashes.
7 years ago
Robin Mills
03b4f1deae
Fix: https://github.com/Exiv2/exiv2/issues/580
7 years ago
Robin Mills
56ba273a90
Fix: https://github.com/Exiv2/exiv2/issues/577
7 years ago
Robin Mills
43683f1eff
Fix #531
7 years ago
Robin Mills
23483dff86
#571 Restore the original windows getProcessCode() because Microsoft's GetModuleFileName isn't effective!
7 years ago
Robin Mills
108509a089
Correction to Microsoft sample code! https://docs.microsoft.com/en-gb/windows/desktop/Services/installing-a-service
7 years ago
Robin Mills
9cb6c1e4c9
Correction in futils.cpp
7 years ago
Robin Mills
22e49cc78b
Try to fix https://github.com/Exiv2/exiv2/issues/572
7 years ago
Robin Mills
3af6f43ff0
Fix: https://github.com/Exiv2/exiv2/issues/571
7 years ago
Robin Mills
eab816fd32
src/version.cpp report enable_nls
7 years ago
clanmills
c22a38cfb4
Fix for https://github.com/Exiv2/exiv2/issues/560 (eraseFamily() crashes in MSVC/Debug).
7 years ago
Robin Mills
062bad7535
Adding output for have_regex to version.cpp
7 years ago
Robin Mills
1b136f0657
Revision to PR#557. Restored XmpData::erase() and added XmpData::eraseFamily(). Restored and augumented conversions.sh
7 years ago
Robin Mills
ccd708df24
Fix: https://github.com/Exiv2/exiv2/issues/521
...
conversions.sh reveals a (harmless) order change runTest exiv2 -M'set Xmp.xmp.ModifyDate 2015-04-17T18:10:22Z' v.xmp
7 years ago
Luis Díaz Más
0d7b3ecd1e
Update man page
7 years ago
Luis Díaz Más
4ed5bdc78b
CMake: Supress MSVC PDB warnings
7 years ago
skal
ecaf1dd478
Fix alpha bit detection in VP8L chunks
...
As per the spec ([1]), the alpha_bit is located on the 4th byte of the payload, just after the height.
This seems to fix the bug reported on GIMP ([2]) where an incorrect file was generated.
[1] https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification#2_riff_header
[2] https://gitlab.gnome.org/GNOME/gimp/issues/1818
7 years ago
Luis Díaz Más
6e42c1b55e
Fix #561 . Use proper counter for the idx variable
7 years ago
Luis Díaz Más
34e411d2fc
Fix 547: option -pR only available in Debug mode.
...
Note that the method Params::evalPrint() has been clang-formatted.
7 years ago
Luis Díaz Más
186352e295
conan: copy 3rd party dlls only if the conanDlls folder exists
...
Note that this folder will only exists if at least one of the conan packages managed with the shared option = True.
7 years ago
Robin Mills
89375979d8
https://github.com/Exiv2/exiv2/issues/555
...
I have restored the Macro EXIV2_TEST_VERSION in include/exiv2/version.hpp
I have added an option --version-test to exifprint.cpp to test/validate EXIV2_TEST_VERSION works as documented.
Version strings in Exiv2 v0.27 and later have a fourth digit to indicate the pre-release number of the build.
Pre-release builds should never be used for production purposes.
7 years ago
Luis Díaz Más
ee28e8ae15
CMake: Install public headers
7 years ago
Luis Díaz Más
8e5ee7a0e6
Fix debug flag preprocessor condition
7 years ago
Luis Díaz Más
9547cddbd1
Add protection around EXV_LOCALEDIR definition
7 years ago
clanmills
c5cd09bebe
Fix getProcessPath() on Cygwin
7 years ago
clanmills
2f70ae4305
Fix getProcessPath()
7 years ago
Robin Mills
8a6cd5d24e
Fix -vVg loops
7 years ago
Luis Díaz Más
0c871a5878
CMake: Align sources and headers in two columns
7 years ago
Luis Díaz Más
faa3a607ab
CMake: Remove FREEBSD variable + Remove commented code
...
- Plus: EXV_LOCALEDIR is now defined only when needed.
7 years ago
Luis Díaz Más
5fc905a799
CMake: remove variable EXIV2_SRC
7 years ago
Luis Díaz Más
fa5f057f8c
CMake: Remove useless source_group commands
7 years ago
Luis Díaz Más
b208bcef7d
CMake: CURL does not need to be propagated
7 years ago
Luis Díaz Más
37538399d6
CMake: Modernize src/CMakeLists.txt by using target_sources.
7 years ago
Luis Díaz Más
9980107586
Only include zlib directory when building the exiv2lib
7 years ago
Luis Diaz Mas
e397f8f053
Fix #533 - Apply patch proposed by Dominique Nerriec
7 years ago
Luis Diaz Mas
83bb4aa80a
code formatting
7 years ago
Luis Díaz Más
38b60a3e8e
CMake: Simplify Intl finding
7 years ago
Luis Díaz Más
4ffc577e4e
CMake: remove useless directory inclusions for exiv2
...
Note that ${CMAKE_SOURCE_DIR}/include is already passed to exiv2
through the exiv2lib target.
7 years ago
Luis Díaz Más
185bcaca05
Link exiv2 app againts libintl
7 years ago
Luis Díaz Más
aae84e4643
Add missing inclusions of cstdio and cstdarg
7 years ago
Luis Díaz Más
44a01863be
Include unistd.h only where it is needed
7 years ago
Luis Díaz Más
38ed6de05d
MSVC: Move compile definitions from config.h to CMake.
...
+ Also remove inclusion of <Windows.h> from config.h
7 years ago
Luis Díaz Más
8bf9ca8e6d
MSVC: Delete deprecated stuff related to MSVC < 2008
7 years ago
Luis Díaz Más
d1c2e2f64f
bindtextdomain point to relative path to bin directory
7 years ago
Luis Díaz Más
7485bb54d7
Create function getProcessPath and add unit test for it
...
Debugging: Relative and Absolute path alternatives
7 years ago
Luis Díaz Más
e20329b8e0
Remove EXV_HAVE_DLL and disable C4251 always on msvc.
7 years ago
Luis Díaz Más
417ad89e4b
Pass argument by const reference
7 years ago
Luis Díaz Más
2203dce828
Fix compilation in clang
7 years ago
Luis Díaz Más
59ba209fe8
Move BlockMap to .cpp file (Remove it from API)
...
- Also make some BlockMap methods const
7 years ago
Luis Díaz Más
fab770887b
Initialize member variables not initialized in the constructor
7 years ago
Luis Díaz Más
20a29cc9c4
Initialize variable in constructor initialization list
7 years ago
Luis Díaz Más
58a96d5908
Fix - Exception thrown in function that was declared not to throw
7 years ago
Luis Díaz Más
2d1e1fe6ef
Reduce the scope of variables
7 years ago
Luis Díaz Más
dc7eb5008b
Add explicit to constructors with 1 argument
7 years ago
Luis Díaz Más
1620198568
Update fujiColor tag with descriptions for new Fujifilm monochrome modes
7 years ago
Robin Mills
ac951622f4
Update DateTimeOriginal in NEF images
7 years ago
Luis Díaz Más
ae49250942
Check in Image::printIFDStructure if seek and reads are OK
7 years ago
Luis Díaz Más
59013f2e2f
Formatting code
7 years ago
Luis Diaz Mas
b7c71f3ad0
PSD: enforce Length of image resource section < file size
7 years ago
Luis Diaz Mas
6896693251
PSD: Use Safe::add for preventing overflows in PSD files
7 years ago
Luis Díaz Más
933ce589a6
Fix infinite loop in getopt.cpp
...
Note that the getopt code was looping forever when one of the argument
options was incorrect. Example:
./exiv2 -A 20:00:00 -Y 2018 -O 11 -D 01 ad myImage.tiff
7 years ago
Robin Mills
b608ad9fdd
Restore exiv2.pc in the mix ( #497 )
7 years ago
Luis Díaz Más
8b877d6ed6
SOVERSION is VERSION_MINOR as in 0.26
7 years ago
Luis Díaz Más
c34c545e31
Change back the library name to exiv2. Generate PDBs in CURRENT_BINARY_DIR.
...
We need to specify where to generate the PDB so that it does not clash with the PDB file generated
for the exiv2 application.
7 years ago
Luis Díaz Más
8d5d453c13
Use the MSYS CMake variable to determine when to use localtime.c
7 years ago
Luis Díaz Más
bc1c17fd78
Add back localtime.c implementation for MinGW
7 years ago
Robin Mills
a099f2440a
Man page update to describe the configuration file.
7 years ago
Robin Mills
42084f2563
Add support for MinGW/msys2 in 32 bits + Updates in buildserver
7 years ago
Robin Mills
e347b41279
Modified Exiv2::Internal::stringFormat() to use larger initial guess for 'need' to fix test/.icc-test.sh on MinGW.
7 years ago
Robin Mills
5f6ef65695
Update PROJECT_VERSION & add install() commands for CPack
...
- Version updated to 0.27.0.1.
- Release notes for MacOS-X Package, Linux, CYGWIN, win64 and msvc
- Redmine Release Notes Updated.
7 years ago
Luis Díaz Más
3976dbc0e7
CMake: Do not rename library outputs (dlls, pdbs, etc). Fixes a debugging issue with MSVC
7 years ago
Robin Mills
9c516116c8
Fix #401 by fixing iteration over exif data tags
7 years ago
Robin Mills
b3d077dcae
Fix #460 by adding more checks in CiffDirectory::readDirectory
7 years ago
Luis Díaz Más
670fb73dd5
Fix #457
7 years ago
Dan Čermák
962962a8e9
Port Iptc::printStructure & getUshort to slices API
...
This fixes #211 , #210 , #209
7 years ago
Dan Čermák
fec6535ae8
[binaryToString] Reimplement using Slices
...
- reimplement binaryToString:
- it now accepts a Slice and nothing else
- it does not return a std::string but instead a proxy object that implements
operator<< (this should be more efficient, as we do not need to touch the
heap in most cases)
- addapt unit tests
- replace all occurences with the new API
7 years ago
Dan Čermák
a48d0347b7
[binaryToString] Fixed overread when passing start > 0
...
binaryToString(DataBuf&) only calls the C-array version. Unfortunately, its
safety check is flawed, as it only works when start is 0 (probably due to its
conterintuitive interface).
binaryToString(byte*) formats the range (start,start+size) => we have to trimm
size if size + start is larger than the DataBuf's size_
7 years ago
Dan Čermák
bfd84ddf5a
[binaryToString] Improved ambiguous documentation
7 years ago
Dan Čermák
7a7ae7a1df
[image_int] Move internal functions into separate translation unit
7 years ago
Dan Čermák
98bca06592
Add Slices: views of STL containers & C-arrays and add unit tests
...
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
7 years ago
Luis Díaz Más
97379dec1d
Add braces around try-catch block. Apply clang-format to the function.
7 years ago
Luis Díaz Más
4216dcd0c2
Fix cppcheck issues: knownConditionTrueFalse
7 years ago
Luis Díaz Más
ab35759de8
Fix cppcheck issues: unreachableCode
7 years ago
Luis Díaz Más
54ad1bc91a
Fix cppcheck issues: duplicateBreak
7 years ago
Luis Díaz Más
b118192f94
Fix cppcheck issues: redundantAssignment
7 years ago
Luis Díaz Más
c43d998457
Fix cppcheck issues: passedByValue
7 years ago
Luis Díaz Más
989acd18c7
Fix cppcheck issues: uninitMemberVar & uninitVar
7 years ago
Luis Díaz Más
19e740b447
Restore API functions remove in #450
7 years ago
Roberto C. Sánchez
c03f73268f
Prevent SIGABRT on excessive subBox length in jp2image.cpp
...
This fixes CVE-2018-9145
7 years ago
Borchers, Henry Samuel
11e66c6c9e
BUILD_INTERFACE for include directories use PROJECT_SOURCE_DIR to allow for being built as a CMake subproject
7 years ago
Dan Čermák
916c535d94
clang-format floatToRationalCast
7 years ago
Dan Čermák
6fd1c5b4bf
[types] Fix check for finite numbers on Linux
...
On Linux we were merely checking whether f is finite, but that does
not cover the case f=NaN.
=> use isfinite instead which checks whether f != inf && f != NaN
7 years ago
Luis Díaz Más
18690f4c54
Provide default and copy constructor for AnyError
7 years ago
Luis Díaz Más
6e4404da81
Move implementation details from tags.cpp to tags_int.cpp
7 years ago
Luis Díaz Más
b9f913d5af
Move implementation to .cpp files. Fix more issues related to visibility settings
7 years ago
Luis Díaz Más
e3f975137c
Use STATIC_DEFINE to solve issues with OBJECT library
7 years ago
Luis Díaz Más
6ba4081f95
Use CMake-GenerateExportHeader to generate a macro to export symbols
...
- Delete the hardcoded macros in config.h taking care of that.
7 years ago
Luis Díaz Más
812762cf5a
Remove usage of CPLUSPLUS11
7 years ago
Luis Díaz Más
ab6aac054a
Remove deprecated code from version source files
7 years ago
Luis Díaz Más
1871ce5acd
Remove 'version.hpp' inclusion from places where it is not needed
...
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
7 years ago
Luis Díaz Más
e5bcabd026
Do not print hexadecimal version value when running exiv2 --version
7 years ago
Dan Čermák
67ec90bdab
Fix switch value in BigTiffImage::readData
...
This function extracts a 2, 4 or 8 byte integer from the image and
swaps it according to the current setting. However, it was implicitly
assuming, that it reads the same amount from the image is is
requested.
If that is not the case, e.g. if 8 bytes are requested but
only 4 are read
=> result is created via byteSwap8() which reads 8 bytes
!but 4 of those are uninitialized!
Using the actually read size fixes this problem.
7 years ago
Dan Čermák
ecf955812d
Replace reachable assertions with enforce in BigTiffImage::readData
7 years ago
Dan Čermák
b3199a0720
Fix division by zero in BigTiffImage::printIFD
...
This fixes #262
7 years ago
Robin Mills
afb98cbc6e
Allocate correct amount of memory for the ICC profile
7 years ago
Robin Mills
8ff26931e3
Do not use Image::printStructure() when reading images as this causes security issues.
7 years ago
Luis Díaz Más
1bdbb86b0c
Fix warning about implicit conversion to bool
7 years ago
Luis Díaz Más
dba48ac3d9
Fix warning on VS2008
7 years ago
Luis Díaz Más
603692a1d8
Copyright to Exiv2 authors
7 years ago
Luis Díaz Más
c4cc019dff
Hide -Wunused-variable issues by using the UNUSED() macro
7 years ago
Luis Díaz Más
94375034e6
Fix -Wsign-compare issues
7 years ago
Luis Díaz Más
18ded9ccf3
Use static version of libcurl.
...
Note that this will simplify the packaging/deployment
7 years ago
Luis Díaz Más
0bfa0168df
Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command
7 years ago
Luis Díaz Más
980f2e9462
Use isnan(f) as an alternative to isinf() on __APPLE__
7 years ago
Robin Mills
6d1c318fc6
Fixes in PngChunk::readRawProfile
7 years ago
Luis Díaz Más
f5b40f3e82
Fix more issues in PngChunk::readRawProfile
7 years ago
Luis Díaz Más
847da051c0
Fix bug in PngChunk::readRawProfile
...
- Now it takes into account text.size_ when searching for a newline
char.
7 years ago
Luis Díaz Más
6b77e9f6c8
Do not use std::vector::data() which is not part of c++98
7 years ago
Luis Díaz Más
2ae0cffe18
isinf for Visual Studio versions previous to 2013
7 years ago
Luis Díaz Más
4161099b91
Fix warnings reported by MSVC
7 years ago
Luis Díaz Más
da24df0ba0
snprintf versions for VS versions previous to 2015
7 years ago
Luis Diaz Mas
67e448669e
Use -Wno-format-overflow when compiling value.cpp to skip false positive warning
7 years ago
Luis Díaz Más
597b17fff5
Simplify timegm.h and make it usable with MINGW
7 years ago
Dan Čermák
1e23238fa4
Fix memory leak in Params::getopt()
7 years ago
clanmills
3c42fdddeb
Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
...
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
7 years ago
Robin Mills
74bc0e0535
Changes for cross-platform getopt
7 years ago
Hombre
a226d6a650
Fixing typo in cmakefiles and removing REGEX dependencie for Cygwin
7 years ago
Hombre
28da26f174
Adding MINGW32 toolchain support
7 years ago
Dan Čermák
7d9ed33bde
Initialize DataBuf with 0s => fix valgrind error
7 years ago
Dan Čermák
9f1a5a1ebb
[futils] Change signature of getEnv to take an int
...
While taking an EnVar as the parameter is more clear it has the
disadvantage, that passing anything outside of the range of the
enumeration is undefined behavior. The compiler could then optimize
the range check in getEnv away (perfectly legal due to UB), leading
to buffer overreads.
7 years ago
Dan Čermák
11df43be78
[types] Apply Safe::abs() in floatToRationalCast & gcd
...
Also check for infinity in floatToRationalCast as depending on the
compiler special values of floats are converted to either
LONGMAX/LONGMIN or +/-inf
7 years ago
Dan Čermák
2dacb19933
[safe_op] Add Safe::abs(), calculates absoulte value without UB
...
Add a drop-in replacement for std::abs which never produces
negative values and thereby never invokes undefined behavior.
7 years ago
Luis Diaz Mas
8b47a8efc1
Include timegh.h in file which needs it
7 years ago
Luis Diaz Mas
a9c9451588
Remove localtime.c and any other trick to handle timegm
7 years ago
Luis Diaz Mas
eb306fdbae
Substitute malloc/free with new/delete
7 years ago
Luis Diaz Mas
eefee8125b
to_hex and from_hex removed from API
7 years ago
Luis Diaz Mas
41499b8ecd
Use snprintf instead of sprintf in TimeValue::copy
...
- Replaced assert by enforce
7 years ago
Luis Diaz Mas
7d8edbe781
Remove more dead code
7 years ago
Luis Diaz Mas
00502eabdd
Move mrwthumb to samples
7 years ago
Luis Diaz Mas
e9a6597a48
Move xmpdump to samples
7 years ago
Luis Diaz Mas
ac51fda7b5
Move crwparse to samples
7 years ago
Luis Diaz Mas
32b618b1c7
Move crwedit from exiv2lib to samples
7 years ago
Luis Diaz Mas
f9b2784055
Remove utiltest.cpp that is not compiled
7 years ago
Luis Diaz Mas
00f86a8df4
Cleanup unused variable warnings
7 years ago
Luis Diaz Mas
6e244f31d3
Cleanup fallthrough warning + clang-format parseCommonTargets function
7 years ago
Dan Čermák
35b3e596ed
Add overflow & overread checks to PngChunk::parseTXTChunk()
...
This function was creating a lot of new pointers and strings without
properly checking the array bounds. This commit adds several calls
to enforce(), making sure that the pointers stay within bounds.
Strings are now created using the helper function
string_from_unterminated() to prevent overreads in the constructor of
std::string.
This fixes #400
7 years ago
Dan Čermák
6da77e2c64
Add documentation for parameters of string_from_unterminated
7 years ago
Dan Čermák
b127354429
Simplify string_from_unterminated by using strnlen()
7 years ago
clanmills
ce516eddef
Issue-374
7 years ago
Dan Čermák
b12a868454
Add EXV_WARN_UNUSED_RESULT macro & add it to DataBuf::release()
...
EXV_WARN_UNUSED_RESULT is a conditional macro that expands to either
__attribute__((warn_unused_result)) on gcc & clang or to _Check_return
for MSVC
=> Compiler warns if the return value is ignored
7 years ago
Dan Čermák
1ab921cb83
Add two padding bytes to exifLongHeader to prevent overreads
...
in the following call:
getHeaderOffset (payload.pData_, payload.size_, (byte*)&exifLongHeader, 6);
getHeaderOffset would read 6 bytes from exifLongHeader, reading beyond the
bounds of the array => add 2 padding bytes to prevent overreads
7 years ago
Dan Čermák
dbf90b976f
Fix overread in memcmp in PngImage::doWriteMetadata()
...
memcmp() compares the read data from key with the provided string, but when
key.pData_ is shorter than the provided length, then memcmp can read beyond the
bounds of key.pData_
=> add custom compare function, which ensures that we never read more than
key.size_
7 years ago
Dan Čermák
8d5a3c7dd9
Remove buffer overread in tExtToDataBuf
...
The pointer p is advanced in the while loop to step over three '\n'.
However, its length is never reduced accordingly. => the length check in the
following for loop is invalid, as it permits overreading by the number of
characters that p was advanced by.
7 years ago
Dan Čermák
67dc3e691f
[IptcData::printStructure] clang-format function
7 years ago
Dan Čermák
b2c3b61abc
[IptcData::printStructure] Remove buffer overrun
...
The loop condition will perform a range check correctly, but it will always
dereference bytes[i], even if i is too large and fails the second check.
=> move the bytes[i] == 0x1c check into a if, after the range check was
successfull
7 years ago
Dan Čermák
39399ac5e8
Remove memory leak in SshIo::SshImpl::getDataByRange
...
The buffer array is not deleted, when an exception is thrown
(happens for nBytes< 0).
=> use std::vector<char> instead
7 years ago
Dan Čermák
607b19111c
[DataBuf] Replace wrong usage of release() with free()
7 years ago
Dan Čermák
1b74db8f51
[types] Add DataBuf::free()
...
DataBuf::release() easily cause memory leaks, when the return value is
ignored. free() provides the desired behavior, when the internal data should
just be deleted and not used further.
7 years ago
Dan Čermák
81b6d36c90
[webp] Enforce minimum read size in decodeChunks
...
The size parameter is only checked for upper bounds, but not for lower.
If it is too small, then created dataBuf will be too small and overflow in one
of the subsequent memcpy() calls.
This fixes #378 / CVE-2018-14046
7 years ago
Luis Díaz Más
6a203c70c0
Include missing unused.h header in convert.cpp
7 years ago
Dan Čermák
b761c6d056
Remove useless casts in preview.cpp
7 years ago
Dan Čermák
fe70939f54
Fix addition overflows in range checks in LoaderTiff::getData
...
Several checks for extracted values performed no overflow checks on the
addition. They can be tricked into passing, albeit the individual summands are
too large.
=> use Safe::add() which now aborts when an overflow occurs
This fixes #366
7 years ago
Dan Čermák
f4e8ed2fd4
Catch all exceptions not caught in exiv2 cli-tool
...
It effectively looks the same as before, only now we don't call abort() but
instead clean up everything gracefully.
7 years ago
Dan Čermák
937a1a2bd0
Add offset_ and size_ safely in LoaderExifJpeg::LoaderExifJpeg
...
offset_ can become arbitrarily large and overflows once its added to size_,
this causes all kinds of problems further in the code when offset_ is used
again.
=> Use Safe::add() to catch potential overflows
This fixes #365 .
7 years ago
Luis Diaz Mas
abf6e8ec27
Remove code related with autotools
7 years ago
tbeu
6b1615840f
Remove redundant check
...
V547 Expression 'bPrint' is always true. rafimage.cpp 112
V547 Expression 'bPrint' is always true. rafimage.cpp 125
V547 Expression 'bPrint' is always true. rafimage.cpp 136
V547 Expression 'bPrint' is always true. rafimage.cpp 147
V547 Expression 'bPrint' is always true. rafimage.cpp 158
V547 Expression 'bPrint' is always true. rafimage.cpp 169
V547 Expression 'bPrint' is always true. rafimage.cpp 190
V547 Expression 'bPrint' is always true. rafimage.cpp 213
V547 Expression 'bPrint' is always true. rafimage.cpp 236
V547 Expression 'bPrint' is always true. rafimage.cpp 252
V547 Expression 'bPrint' is always true. rafimage.cpp 262
V547 Expression 'bPrint' is always true. rafimage.cpp 272
7 years ago
tbeu
eca251865f
Fix check (on comparing unsigned minus signed greater zero)
...
V555 The expression 'object->sizeDataArea_ - buf.size_ > 0' will work as 'object->sizeDataArea_ != buf.size_'. tiffvisitor.cpp 911
7 years ago
tbeu
bb9034e029
Do not implicitly cast enum to Boolean
...
V768 The expression 'fileProtocol(path)' is of enum type. It is odd that it is used as an expression of a Boolean-type. futils.cpp 288
7 years ago
tbeu
12d0da619b
Use clear to reset string
...
V815 Decreased performance. Consider replacing the expression 'token = ""' with 'token.clear()'. http.cpp 193
7 years ago
tbeu
9569ef2fda
Use auxiliary variable
...
V807 Decreased performance. Consider creating a reference to avoid using the 'image_.exifData()' expression repeatedly. preview.cpp 530
7 years ago
tbeu
75cdbc8b91
Use pre-increment on iterators
...
V803 Decreased performance. In case 'userEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 405
V803 Decreased performance. In case 'authEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 410
V803 Decreased performance. In case 'hostEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 428
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 711
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 841
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 958
V803 Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 855
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. jpgimage.cpp 817
V803 Decreased performance. In case 'lib' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 508
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 563
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. xmpsidecar.cpp 138
7 years ago
tbeu
e5a4f1cf35
Use auxiliary variable
...
V807 Decreased performance. Consider creating a reference to avoid using the 'image.exifData()' expression repeatedly. crwimage.cpp 1320
7 years ago
tbeu
3674ce2c1d
Remove superfluous assignment
...
V519 The 'md_st' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 155, 156. easyaccess.cpp 156
7 years ago
tbeu
9c507b9d20
Fix function declaration
...
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'printStructure' in derived class 'TiffImage' and base class 'Image'. tiffimage.hpp 93
7 years ago
Luis Díaz Más
9f67edd9bd
Conan: bring libiconv dependency for Windows
7 years ago
Luis Díaz Más
e82cd1734c
Fix warnings reported by -Wmisleading-indentation
7 years ago
Luis Díaz Más
88ba920962
Extract out common code for two switch-cases into a function to fix warning
...
The warning was caused by -Wimplicit-fallthrough:
https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
I also realized that the method printStructure was duplicated in the
classes Print and Erase. By moving the implementation to a free function
into the cpp file, I could remove the duplication in the code.
7 years ago
Luis Díaz Más
335607054c
Use enforce instead of std::assert to fix warning about unused variable in realease mode
7 years ago
Luis Diaz Mas
773bdfd14e
Create a header where to keep an unique definition of UNUSED
7 years ago
Luis Diaz Mas
9586928d29
Add CMake code to handle external XMP
...
Experiment: Try with testing package
7 years ago
Dan Čermák
a1a9c3d79a
Use reinterpret_cast instead of C style cast
7 years ago
Dan Čermák
b51b6fc52d
Prevent an out of bounds read in strstr in JpegBase::printStructure
...
The xmp byte array is not necessarily null terminated => strstr can read beyond
the bounds of the allocated array then.
Therefore use string_from_unterminated to remedy this issue.
Also replace xmp with a std::vector, as stl functions can throw and we don't
want a memory leak.
7 years ago
Dan Čermák
510560bbd1
Prevent out of bounds read in jpgimage.cpp JpegBase::printStructure
...
signature is extracted from an image and can lack the terminating \0, this
causes the std::string constructor and strcmp to read beyond the bounds of the
allocated array.
=> Use string_from_unterminated to construct a std::string safely and use it
in the subsequent code & use stl functions instead of C functions
7 years ago
Dan Čermák
dd52b1a832
Add helper_functions.cpp/hpp & unit tests
...
- add function which constructs a new std::string from a potentially not null
terminated char *
- add unit tests
7 years ago
Luis Diaz Mas
59493d1edc
Fix bug in Cr2Header::read
7 years ago
Luis Diaz Mas
1d27c21639
Rename files from cr2image_int to cr2header_int
7 years ago
Luis Diaz Mas
67a5a74115
Throw when trying to write out of the buffer
7 years ago
Luis Diaz Mas
863aaebc92
Use index to access buf.pData_
7 years ago
Luis Diaz Mas
ed874703ad
Prevent call to memcpy with size==0
7 years ago
Luis Diaz Mas
f17636460f
Remove tags_int.cpp that was not used in the project
...
I introduced that file accidentally in the project while trying to move
the implementation details to xxx_int.cpp files. In this case, I found
out some issues and I just decided to leave the implementation in the
file tags.cpp.
7 years ago
Luis Diaz Mas
1371d677f9
Remove custom messages from enforce(xxx, Exiv2::kerCorruptedMetadata)
7 years ago
Luis Diaz Mas
c0a879aea4
Fix call to std::count, so that we count until the end of the array
7 years ago
Luis Diaz Mas
3ad0050469
Check validity of compressionFlag & compressionMethod
7 years ago
Luis Diaz Mas
2fb00c8a16
Analyze minimum needed number of null separators in PngChunk::parseTXTChunk
...
This commit fixes the heap-buffer-overflow in PngChunk::parseTXTChunk.
According to the specification:
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
There must be 2 null separators when we start to analyze the language tag.
7 years ago
Luis Diaz Mas
a227fcda39
debug: Add new debug message to print the PNG chunk being processed
7 years ago
Luis Diaz Mas
b0696d4da6
style: Apply formatting guidelines to one-line ifs
7 years ago
Luis Diaz Mas
4922df6018
Replace '\n' by endl that flush content. Useful for debugging
7 years ago
Luis Díaz Más
c3629117d8
conan: Upgrade libcurl version
...
Thanks to this upgrade the cmake code that handles the CURL dependency
can be simplified. Now we can use the shared version of CURL in all the
platforms. However we will use for the moment the static version on Mac,
since we are having some issues with 'make tests'. Once those tests are
migrated to python we can also use the shared version there.
7 years ago
Daniel Zucchetto
4e55af8691
Support Canon M100
7 years ago
Dan Čermák
4b24e011dc
Free potentially allocated regexes from Params::evalGrep
...
In Params::evalGrep regcomp allocates some internal space for the regex objects,
which must be freed manually via regfree(). This was however only done when the
call to regcomp() failed and not on success. As the regexes are needed later,
they have to be deallocated by the destructor.
7 years ago
Dan Čermák
bf51a76e4e
[safe_op] Fix ODR violation in compiler builtin specializations
...
The compiler instrinsics are exposed via fully specialized template functions
which must not be defined twice (which they accidentally were). Declaring them
as inline fixes this issue.
7 years ago
Dan Čermák
1d7dd0892c
Fix errors not being passed by reference to error() function
...
- error was passed by value, but a new error message should be appended to it
=> error must be called by reference
- use default parameters of error() in http()
- rename variables to fix shadowing
7 years ago
Dan Čermák
571f97e277
Use __attribute__((format)) in clang too
7 years ago
Dan Čermák
222c65be63
Refactor Nikon case in bigtiffimage
...
- remove name shadowing
- user std::vector<> instead of raw array
7 years ago
Dan Čermák
4c4d568036
Enforce a valid Value (instead of assert)
7 years ago
Dan Čermák
e2b06856d8
Change type of size to uint64_t to avoid a useless cast
...
The variable size is only populated via getUint64_t => uint64_t is better suited
then unsigned long
7 years ago
Dan Čermák
316548d2de
Fix shadowing issues
...
- renamed variables that were shadowing a previously defined variables
7 years ago
Dan Čermák
5e36363138
Fix double promotion issues
7 years ago
Dan Čermák
bc58752d18
Remove useless casts
...
This commit removes only casts where type A is cast to the exactly same
type (and not to a platform dependent typedefs)
7 years ago
Dan Čermák
bb2019149a
[safe_op] Don't use overflow intrinsics in MSVC 2005
7 years ago
Luis Díaz Más
e32323d7c7
Simplify usage of strerror_r.
...
- Define STRERROR_R_CHAR_P properly on CMake and use it on futils.cpp
- We use now _GNU_SOURCE to determine which version of strerror_r to use
- strError only throws if ret==ERANGE
- Remove STRERROR_R_CHAR_P. It has been never used
- sort defines in config.h.cmake
- Remove EXV_HAVE_DECL_STRERROR_R that is not used anymore
- Remove EXV_HAVE_STRERROR. C++98 always will have it
7 years ago
Robin Mills
d22fff4834
Lens Recognition for Tamron SP AF 150-600mm F/5-6.3 VC USD G2 (A022) for Nikon
...
http://dev.exiv2.org/issues/1348
7 years ago
Luis Díaz Más
f86542e5f6
Remove EXV_HAVE_STRTOL
7 years ago
Luis Díaz Más
d55b2b1b65
Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib
7 years ago
Luis Díaz Más
aded1965c5
Remove EXV_HAVE_MEMSET
7 years ago
Luis Díaz Más
abd28a6a9e
Remove EXV_HAVE_STRCHR
7 years ago
Dan Čermák
fc60d97a29
Prevent passing of null-pointers to libc functions
7 years ago
Dan Čermák
2bf89f4854
Store pointers to Impl classes in auto_ptr
...
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
7 years ago
Luis Díaz Más
02aa13abf3
Install conan-dependencies DLLs into install/bin.
...
We also changed the way in which we copy the DLLs to the bin folder inside the build directory.
Before we were directly placing the conan-deps DLLs into the bin folder directly. Now we place
them into a directory called conanDlls, and from there we copy them to bin or install/bin
at build and install steps respectively.
7 years ago
Luis Díaz Más
fbd8e2669e
sort alphabetically the sources in src/CMakelists.txt
7 years ago
Luis Díaz Más
de5b9ebf89
Remove duplication of sources in src/CMakeLists.txt
7 years ago
Luis Díaz Más
ffbcaa2e6d
Fix MSVC warning C4267: conversion from 'size_t' to 'long'
7 years ago
Luis Díaz Más
bd40c18f1c
Use variable in TimeValue::copy to remove -Wunused-variable warning
7 years ago
Luis Diaz Mas
a246c73d6f
Use unused variable instead of hard-coded values in DateValue::copy
7 years ago
Luis Díaz Más
bf7047a71b
clang-format XmpKey code
7 years ago
Luis Diaz Mas
07d75cd0e8
Check if ExifData::findKey return valid iterators
7 years ago
Luis Díaz Más
858c99b4df
Add enforce before calling REPORT_MARKER with invalid marker
7 years ago
Freddie Witherden
97a7924340
Update Nikon lens database.
7 years ago
Luis Díaz Más
5e5d76ad0a
clang format function
7 years ago
Dan Čermák
3c20cc06a9
Fix CVE-2017-1000126
...
CVE-2017-1000126 is a Stack out of bounds read in the WebP parser caused by the
parameter size & filesize being too large, causing the parser to land in an
infinite loop and eventually crash. Enforcing that the size over which the
parser iterates is smaller than the file fixes this issue.
This fixes #175 .
7 years ago
Dan Čermák
49db96cd58
[webp] Fix wrong filesize parameter being extracted from the header
...
The webp header contains the filesize of the image starting at the 8th byte in
bytes 4 to 8 encoded as a little endian 32 bit unsigned integer. The code was
erroneously assuming that the extracted filesize is starting at the 12th byte,
i.e. at the end of the WebP file header.
Source: https://developers.google.com/speed/webp/docs/riff_container
7 years ago
Dan Čermák
5de9a7b562
Add a port of enforce() from D
...
enforce is a function comparable to assert(), it ensures that a condition is
true. However, while assert() should be used for conditions where we can be
certain that they are true, enforce is intended to be used for conditions that
can fail (like on invalid input). Therefore enforce() throws an exception when
the condition is false and does not abort the program's execution. Also, it is
not turned off by defining NDEBUG.
- add a new file enforce.hpp
- implement enforce()
7 years ago
HumanDynamo
22a0b32c01
Fix typo of Xmp.video.AspectRatio's value type
7 years ago
Luis Díaz Más
01a5d863ad
Apply clang-format to Print::printMetadatum
7 years ago
Luis Díaz Más
45fe44aa2f
Move condition in if statement to discard work earlier
7 years ago
Luis Díaz Más
d82b9434e1
Only print items (Params::prValue) when size > 0
7 years ago
Robin Mills
185d0e9482
#199 Fix for getopt(). Use src/getopt_win32 code instead of libc/getopt()
7 years ago
Dan Čermák
06ec1e6984
[safe_op] Refactored addition overflow checks using functions only
...
- templated structs were not required, SFINAE works for functions too
=> use instead, removes some unneeded code
- fix non-usage of builtins with clang
- adjust unit tests
7 years ago
Dan Čermák
684c8c89de
[safe_op] Simplified unsigned int overflow check
...
Simply check for overflows after the addition, as no undefined behavior can
occur here.
7 years ago
Dan Čermák
31b96b58e7
[safe_op] improved signed int overflow checks via integer promotion
...
The fallback signed integer overflow check is quite expensive, but the addition
can be safely performed when saved in an int due to integer promotion
rules. This makes the check a little less expensive.
7 years ago
Dan Čermák
029b997ca0
[safe_op] fixed typo in doc-comment
7 years ago
Dan Čermák
751fba8b54
Added dataBuf size check before calling PngChunk::decodeIHDRChunk
...
- cdataBuf must be at least 8 bytes long otherwise decodeIHDRChunk
reads out of bounds
- pngImage::readMetadata now skips png chunks where the offset for
IHDR chunks is invalid
- added assertion into PngChunk::decodeIHDRChunk() to ensure dataBuf
size
7 years ago
Fredrik lingvall
fc8b45dd12
Added the Sigma 120-300mm F2.8 DG OS HSM | S for Nikon mount.
7 years ago
Fredrik lingvall
34a3be025e
Added Sigma 50mm F1.4 DG HSM | A mount/UPC code (for Nikon mount).
7 years ago
Fredrik Lingvall
215227024d
Added Sigma 20mm F1.4 DG HSM | A mount/UPC code (for Nikon mount).
7 years ago
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
7 years ago
Dan Čermák
d3c3c036b8
Incorporated error codes into errList
7 years ago
Robin Mills
55001c8ddf
Merge pull request #222 from Exiv2/fix-220
...
Fix 220
7 years ago
Dan Čermák
fcb4257051
Add check for DataBuf.size_ in Jp2Image::readMetadata()
...
When parsing a subBox that is a ColorHeader, a length is extracted
from the input file and fed directly into DataBuf() (which calls
malloc). A crafted input file can provide arbitrarily (up to
max(uint32_t)-8) large values and result in excessive memory
allocation.
This commit adds a check for the new size of DataBuf so that it is not
larger than the remaining size of the file.
This fixes #202 aka CVE-2018-4868
7 years ago
Robin Mills
a1f1989cb5
Merge branch 'master' into master
7 years ago
clanmills
c082537967
Fix #220 https://github.com/Exiv2/exiv2/issues/220
8 years ago
Dan Čermák
4429b962e1
Fix out of bounds read in src/pngchunk_int.cpp by @brianmay
...
- consider that key is advanced by 8 bytes if stripHeader is true
=> length is reduced by same amount
Fixed by adding offset to the check in the loop
- Rewrote loop so that keysize is checked before the next
iteration (preventing an out of bounds read)
8 years ago
Robin Mills
df4113b765
changes to MemIo::reserve() for #200 ( #213 )
...
* changes to MemIo::reserve() for #200
* Changes following review by Dan (thanks, Dan).
8 years ago
Michał Walenciak
d219e61586
be more error prone
8 years ago
Michał Walenciak
24348e85ca
checks for valid reads
8 years ago
Michał Walenciak
421c6d6723
improvements for issue #208
8 years ago
Michał Walenciak
1647908e00
fix for crash in bigtiff (issue #208 )
8 years ago
Robin Mills
7d42da94d0
Removed wrong ExifData::const_iterator that shadowed the correct one
8 years ago
Luis Díaz Más
00f32316b2
Add missing header
8 years ago
Luis Díaz Más
14ff034fb4
Catch std::overflow_error exception in Print::run
8 years ago
Luis Diaz Mas
d09c4bb7cd
Fix arithmetic operation overflow
8 years ago
Luis Díaz Más
a1023c39ab
Add safe_op.hpp to LIBEXIV2_PRIVATE_HDR (to be shown in IDEs)
8 years ago
Dan Čermák
7c00e9128d
Fix compilation error with gcc < 5
...
- overflow builtins were added with gcc 5.0
8 years ago
Dan Čermák
ca7c699aa1
Added overflow safe addition function
8 years ago
Robin Mills
8f5b795eaa
Fixes to autotools build to respect mn_int.cpp files ( #186 )
...
* Fixes to autotools build to respect mn_int.cpp files
* Changes following Luis' code review.
8 years ago
Luis Díaz Más
f36bea3801
exiv2::getEnv throws std::out_of_range on unexpected EnVar
...
This change define explicitly the behavior that exiv2::getEnv should have
on response to unexpected inputs.
There are some other minor changes:
- Use _putenv_s for the unit tests on Windows
- Add todo comment
- Remove deprecated note about freeing memory
8 years ago
Luis Díaz Más
8dc3c1f0a0
Replace malloc/free by new/delete. Use const char* for input arg
8 years ago
Luis Díaz Más
bfe057ca20
Auto-formatting done by the IDE while touching code in the previous commits
8 years ago
Luis Díaz Más
8b049922d7
Change exiv2::urlencode signature to return std::string
...
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
8 years ago
Luis Díaz Más
8c010c903b
Compile private part as an OBJECT library (CMake concept)
8 years ago
Luis Díaz Más
d3748152a7
add _int suffix to all the internal files
8 years ago
Luis Díaz Más
44fc9ec528
Move Cr2Header to a new .cpp file
8 years ago
Luis Diaz Mas
d48abab718
Apply clang-format to some lines of the file canonmn.cpp
8 years ago
Luis Diaz Mas
d0a1c6d19d
Apply clang-format to bmpimage.cpp
8 years ago
tbeu
2efc2e79da
Remove obsolete id
8 years ago
tbeu
5b5987a596
Remove obsolete EXIV2_RCSID
8 years ago
tbeu
5df8b01b77
Remove obsolete svn revision
8 years ago
Robin Mills
e96e0daa8a
Jp2Image::printStructure: Corrected used DataBuf for output
8 years ago
Robin Mills
befe8c64e3
Jp2Image::printStructure: only print output when bPrint is set
8 years ago
Robin Mills
13db7fdec2
Formatting changes
8 years ago
Luis Díaz Más
87a83c89d5
Merge branch 'master' into stringFormat_update
8 years ago
Luis Díaz Más
1fe8d5ba7f
Fix conversion issue detected by MSVC
8 years ago
Dan Čermák
36df4bc997
Fixed potential out of bounds file access
...
This commit adds a out-of-bounds protection in the case that the
extracted values for offset & count are summed up larger than the size
of the file. Also this function checks for overflows before performing
the addition.
This fixes #159
8 years ago
Dan Čermák
cfa5073a2c
Added short explanation to internal function stringFormat
8 years ago
Dan Čermák
06cafadf4f
Added assertion that call to vsnprintf succeeds
8 years ago
tbeu
c0ea5f4fba
Rewrite the reallocation the C++ way
...
* Fix handling of the return value of vsnprintf
* In C++11 we could use buffer.data instead of &buffer[0]
8 years ago
tbeu
22dbd632bb
Find single character
8 years ago
tbeu
d1f73aa237
Make it floats
8 years ago
tbeu
849f416771
Avoid self-assignment
8 years ago
tbeu
867343b46f
Utilize const Value reference
8 years ago
tbeu
fd64d53e4b
Remove superfluous variable declarations
8 years ago
tbeu
d7297a2c2c
Pass argument as constant reference
8 years ago
Luis Díaz Más
4ad4323685
Add new CMake options to use compiler flags to detect issues in the code (Gcc, Clang & MSVC)
8 years ago
Andreas Sturmlechner
57883ee664
Fix build with EXIV2_BUILD_EXIV2_COMMAND=OFF
8 years ago
Dan Čermák
c686843e20
Added exception throw on Value pointer being null
...
v can be null if the typeId is invalid => throw an exception notifying
the user that his file is corrupted instead of the assertion
8 years ago
Dan Čermák
75940da0a6
Added check for overflows in calculation of size
8 years ago
Dan Čermák
8a586c74bb
Fix for CVE-2017-14864, CVE-2017-14862 and CVE-2017-14859
...
The invalid memory dereference in
Exiv2::getULong()/Exiv2::StringValueBase::read()/Exiv2::DataValue::read()
is caused further up the call-stack, by
v->read(pData, size, byteOrder) in TiffReader::readTiffEntry()
passing an invalid pData pointer (pData points outside of the Tiff
file). pData can be set out of bounds in the (size > 4) branch where
baseOffset() and offset are added to pData_ without checking whether
the result is still in the file. As offset comes from an untrusted
source, an attacker can craft an arbitrarily large offset into the
file.
This commit adds a check into the problematic branch, whether the
result of the addition would be out of bounds of the Tiff
file. Furthermore the whole operation is checked for possible
overflows.
8 years ago
Dan Čermák
6c1ba331b9
Added arithmetic operation overflow error
8 years ago
Dan Čermák
ff18fec24b
Fix for CVE-2017-14860
...
A heap buffer overflow could occur in memcpy when icc.size_ is larger
than data.size_ - pad, as then memcpy would read out of bounds of data.
This commit adds a sanity check to iccLength (= icc.size_): if it is
larger than data.size_ - pad (i.e. an overflow would be caused) an
exception is thrown.
This fixes #71 .
8 years ago
Dan Čermák
65f45a3505
Added new error message to warn about corrupted metadata
8 years ago
Luis Díaz Más
4beb08e219
Merge pull request #105 from Kicer86/bigtiff
...
Work in progress - improvements for bigtiff
8 years ago
Luis Díaz Más
8e4aff29c2
Merge pull request #107 from D4N/tiffvisitor_nullptr_check
...
Use nullptr check instead of assertion, by Raphaël Hertzog
8 years ago
Michał Walenciak
2402a693fd
adding missing include for numeric_limits
8 years ago
Luis Díaz Más
93bbf0cab1
Merge pull request #104 from piponazo/removeCpp11Feature
...
Remove cpp11 features
8 years ago
Dan Čermák
e026160556
Use nullptr check instead of assertion, by Raphaël Hertzog
...
Source:
https://github.com/Exiv2/exiv2/issues/57#issuecomment-333086302
tc can be a null pointer when the TIFF tag is unknown (the factory
then returns an auto_ptr(0)) => as this can happen for corrupted
files, an explicit check should be used because an assertion can be
turned of in release mode (with NDEBUG defined)
This also fixes #57
8 years ago
Luis Díaz Más
bef6dad6c5
Merge pull request #103 from AdelieLinux/master
...
Amend fix for #9 to apply to other Unix systems
8 years ago
Michał Walenciak
b1a5d615c5
removing debug message
8 years ago
Michał Walenciak
64e05c0a7a
improving fixes for #55 and #56
8 years ago
Luis Díaz Más
1a1a61b63d
Remove reference to regex & c++11 from the man page
8 years ago
Luis Díaz Más
5b8894908b
Remove all references to EXV_HAVE_REGEX and related code
8 years ago
Luis Díaz Más
bfd61bd0f1
Merge pull request #96 from Kicer86/master
...
Adding comment for issue #56
8 years ago
A. Wilcox
d775683f57
Amend fix for #9 to apply to other Unix systems
...
At least the musl libc on Linux has the same issue as Mac OS X: the
PTHREAD_RECURSIVE_* static initialiser does not exist. This is a
documented and purposeful omission:
http://www.openwall.com/lists/musl/2017/02/20/3
This commit uses similar logic to the Apple test on other Unixes.
8 years ago
Luis Diaz Mas
2784b1f7f7
Remove EXIV2_ENABLE_LIBXMP variable, always build static XMP library, remove cmake OBJECT library
8 years ago
Michał Walenciak
7e90668011
Adding comment for issue #56
8 years ago
Luis Díaz Más
df3c77516c
Merge pull request #94 from piponazo/configFileInBuildDirectory
...
Generate exv_conf.h file out of the source tree.
8 years ago
Luis Díaz Más
a9e3f17f31
Generate exv_conf.h file out of the source tree. Install it in the include folder.
8 years ago
Luis Díaz Más
686edde5ef
Provide exiv2Config file automatically generated by CMake
8 years ago
clanmills
327b3f6c4d
Fix https://github.com/Exiv2/exiv2/issues/83
8 years ago
Robin Mills
2f0104879a
Merge pull request #81 from piponazo/robinChanges
...
Robin changes
8 years ago
clanmills
d43cd82002
Fix #80
8 years ago
Luis Díaz Más
8ad49f6d73
Robin changes in sync with master changes
8 years ago
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.
8 years ago
Robin Mills
d8ae4484ae
msvc support for bigtiffimage.cpp
8 years ago
Robin Mills
e1948c7ff9
msvc/bigtiffimage support
8 years ago
clanmills
6e3855aed7
Fix https://github.com/Exiv2/exiv2/issues/55
8 years ago
Robin Mills
197375dfa4
Merge pull request #72 from Kicer86/bigtiff
...
Some improvements, crash fix.
8 years ago
Michał Walenciak
9acc1c56a7
adding ifd8 and long longs to is8ByteType()
8 years ago
Michał Walenciak
4837d8cf58
changing header + some warning fix
8 years ago
Robin Mills
6fd0bc9e10
Adding ./configure support for bigtiffimage.cpp
8 years ago
clanmills
678e2b8517
Explicitly list files to be processed CMake generated builds [remove file(GLOB...)]
8 years ago
Michał Walenciak
734a2c3d57
fixing TODO
8 years ago
Michał Walenciak
e3ff1ba694
fixing indent
8 years ago
Michał Walenciak
4629227358
fix for IPTCNAA
...
dir_offset was used instead of offset
8 years ago
Michał Walenciak
4f6f5b4946
removing conditional_byte_swap* functions
8 years ago
Michał Walenciak
b6e79357de
Adding 8-byte swap functions + consts
8 years ago
Michał Walenciak
f96d84ba8c
dropping dead code
8 years ago
Michał Walenciak
50ecf672b5
using Internal::indent()
8 years ago
Michał Walenciak
f8ac7a5dc3
renaming Tiff to StandardTiff
8 years ago
Michał Walenciak
d460bbdb3f
fix for standard tiff case
8 years ago
Michał Walenciak
81aa8828e0
applying dff941ad7f
8 years ago
Michał Walenciak
874daede53
fixing broken print for 'offset' column
8 years ago
Michał Walenciak
8b07982bf2
variable names cleanup
8 years ago
Michał Walenciak
1a1dc3afd4
simplifying code
8 years ago
Michał Walenciak
c6cbf69c49
first attempt to read both - standard and big tiff
8 years ago
Michał Walenciak
972e302cba
some cleanups
8 years ago
Michał Walenciak
3c9817339a
Dropping BasicIo& io parameter.
...
We already have acces to it via Image class
8 years ago
Michał Walenciak
65722a0020
dropping bSwap parameter
...
Member is better.
8 years ago
Michał Walenciak
7e291ef226
Encapsulating Header's members
8 years ago
Michał Walenciak
cb3857c675
removing useles code
8 years ago
Michał Walenciak
ff21b5a962
restore position if necessary
8 years ago
Michał Walenciak
cc8c470620
fix header read + tag name dump
8 years ago
Michał Walenciak
5ab1a0809d
adopt to style
8 years ago
Michał Walenciak
5fa328737a
moving implementation from stand alone parser
8 years ago
Michał Walenciak
c008ad2403
making tag related functions private
8 years ago
Michał Walenciak
307faae830
introducing tiff Header + header builder function
8 years ago
Michał Walenciak
ab27bfab3c
introducing getULongLong()
8 years ago
Michał Walenciak
dc331ee44a
implementing isBigTiffType
8 years ago
Michał Walenciak
b3aa2adf31
initial implementation of newBigTiffInstance()
8 years ago
Michał Walenciak
bc6eed0b03
registering new file type
8 years ago
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)
8 years ago
Robin Mills
f9d0be42b5
Merge pull request #69 from marisn/master
...
Fix crash on undefined metadata on some Nikon images
8 years ago
clanmills
21ac4ac61a
Test suite changes due to https://github.com/Exiv2/exiv2/pull/68
8 years ago
Māris Nartišs
591dea579a
Fix crash on undefined metadata on some Nikon images.
...
Identical to commit:5405d61623e82896e498c5c8342dd6f42e689115
8 years ago
Michał Walenciak
dff941ad7f
Do not print offset when it is used as tag's value
8 years ago
Robin Mills
22aaff8682
Fix cmakeBuild.cmd --static to use zlibstatic.lib
8 years ago
clanmills
d366943297
Refactoring EXV_USE_CURL and EXV_USE_SSH
8 years ago
clanmills
012d630125
Polish options. Move exv_conf.h to directory include/exiv2
8 years ago
Tobias C. Berner
0ed456ca4d
Use CMAKE_DL_LIBS instead of dl
...
cmake provides a wrapper to link against 'dl' which evalutes to nothing on FreeBSD and to dl on Linux for example.
https://cmake.org/cmake/help/v3.6/variable/CMAKE_DL_LIBS.html
8 years ago
clanmills
5405d61623
Fix http://dev.exiv2.org/issues/1305
8 years ago
clanmills
2828b11cf7
Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H
8 years ago
Ray
ddbbbc7653
attempt to determine lens name from in:value object (represents lensID) when in:metadata == NULL
8 years ago
Robin Mills
60d436c969
Many changes to CMakeLists.txt and cmakeBuild.cmd to support unicode, static linking, passing shared library build flags.
8 years ago
Luis Díaz Más
68d2c49fc5
Fix typo
8 years ago
Luis Diaz Mas
1af1ce0229
Fix CMake + Conan integration on Windows
8 years ago
Luis Diaz Mas
960335faea
Use conan in travis
8 years ago
Luis Diaz Mas
2221a5c630
Make CMake code work with conan
8 years ago
clanmills
9586164a8f
Fix: https://github.com/Exiv2/exiv2/issues/45 Thank You to Steve for reporting, providing the patch and giving feedback that modifying ~/.exiv2 worked.
8 years ago
Luis Díaz Más
dc79df8ee6
Only use CURL and SSH when their support is enabled
8 years ago
Luis Diaz Mas
c2350a3cb9
Make CMake code work with conan
8 years ago
Michał Walenciak
20582a93c6
Marking members in a proper way.
8 years ago
Michał Walenciak
4e25435afb
Changing return type of Image::tagName to std::string
8 years ago
Michał Walenciak
ddb87fe0cf
Moving static tagName() into Image class to prevent multithread crashes.
...
static variables inside of tagName() were not protected against multithread access.
It could cause a crash in case of simultaneous initialization of map of tags.
8 years ago
clanmills
0f72599121
https://github.com/Exiv2/exiv2/issues/45 Fixing blank line typo.
8 years ago
clanmills
cf36ff3372
Fix: https://github.com/Exiv2/exiv2/issues/45 Thank You to Steve for reporting, providing the patch and giving feedback that modifying ~/.exiv2 worked.
8 years ago
Luis Díaz Más
9761f0ee1f
ICONV include directories only used by exiv2lib
8 years ago
Luis Díaz Más
31a51fda8a
Replace EXIV2_ENABLE_SHARED by BUILD_SHARED_LIBS. Also use EXV_HAVE_DLL only for the exiv2lib target
8 years ago
clanmills
426cb8f354
Fix Visual Studio build breaker.
8 years ago
Robin Mills
b5cac373b1
Merge pull request #39 from Exiv2/autotoolsMacLink
...
./configure --with-adobe[=2016|2014|2013] for MacOSX
8 years ago
Andreas Sturmlechner
a768b85191
Lowercase target_link_libraries
8 years ago
Andreas Sturmlechner
20c7ad6c59
Lowercase include{,_directories}
8 years ago
Andreas Sturmlechner
1fc319c0e4
Lowercase add_custom_target, configure_file, install macros
8 years ago
Andreas Sturmlechner
40565761d1
Lowercase add_{definitions,subdirectory}, set{_*} and option macros
8 years ago
Andreas Sturmlechner
06b20523f7
Lowercase if/else/endif/foreach/endforeach
8 years ago
clanmills
573b2cfcd2
XMPsdk fixes. 2013 and 2016 build and (mostly) pass the test suite.
8 years ago
clanmills
95c5e92365
Support for Adobe XMPsdk 2013. Build xmpsdk using Adobe scripts.
8 years ago
Luis Díaz Más
50fad7327c
Merge pull request #33 from a17r/localedirundefined
...
LOCALEDIR is used by EXIV2_ENABLE_BUILD_PO so make sure it is defined
8 years ago
Luis Diaz Mas
90e8ad8a72
Only set CMAKE_RUNTIME_OUTPUT_DIRECTORY once
8 years ago
Luis Diaz Mas
3a45a375d8
Simplify CMake code related with PNG and ZLIB (ZLib is required is PNG=ON)
8 years ago
Luis Diaz Mas
c735bc5ae2
Relative paths to current directory
8 years ago
Luis Díaz Más
6a00d4b282
Move code from CMake_msvc.txt to config/compilerFlags.cmake
8 years ago
Luis Díaz Más
a2bb29011d
Move compiler flags configuration to a new file (config/compilerFlags.cmake).
...
Also define the PSAPI_VERSION only for the exiv2lib target (It's not needed for the rest of targets)
8 years ago
Luis Díaz Más
3736707015
Merge branch 'master' into localedirundefined
8 years ago
Andreas Sturmlechner
a8e55c4d9e
Drop LOCALEDIR, use CMAKE_INSTALL_LOCALEDIR directly
...
It is always properly defined by GNUInstallDirs. Otherwise it was
possible to install translations in / if EXIV2_ENABLE_NLS=OFF.
Thanks-to: Luis Díaz Más
8 years ago
Andreas Sturmlechner
b81f493024
Add option to disable tools (currently exiv2 binary)
...
In a multiarch build, one may want to build binaries only for native arch.
8 years ago
Andreas Sturmlechner
aa6374b202
Use more GNUInstallDirs
...
Conveniently fixes multiarch install dir issues.
8 years ago
Luis Diaz Mas
c415e7f509
Fix CMake configuration when XMP is disabled. Check XMP variable instead LIBXMP
8 years ago
Robin Mills
afba52e042
Remove include tags_int.hpp from include/exiv2/*video.hpp files
8 years ago
Luis Diaz Mas
35c3e31958
Fixes for MSVC case
8 years ago
Luis Diaz Mas
27cde135d9
Remove more useless include_directories
8 years ago
Luis Diaz Mas
93e603e031
Fix linking problems with pthreads
8 years ago
Luis Diaz Mas
9808c3bf2d
Simplify CMake code to identify FreeBSD systems
8 years ago
Luis Diaz Mas
f5f5826c03
Use target_sources to extend the list of sources in exceptional situations
8 years ago
Luis Diaz Mas
45807ca03d
Do not include SSH and CURL include dirs globally. Do it properly for the exiv2lib target
8 years ago
Luis Diaz Mas
c50702612d
Simplify CMake code for handling SSH and CURL cases
8 years ago
Luis Díaz Más
57cd78b517
Put all the CMake related with the exiv app together
8 years ago
Luis Díaz Más
ee61c24459
Remove inclusion of many useless include_directories
8 years ago
Luis Díaz Más
1c03767391
Move inclusion of private header from .hpp to .cpp (not needed in the .hpp)
8 years ago
Luis Díaz Más
73f53cc6f9
Move sample applications from src/CMakeLists.txt to samples/CMakeLists.txt
8 years ago
Robin Mills
aefa3e3d34
MacOSX --with-adobe link issue. Work in progress. Code and documentation update.
8 years ago
Robin Mills
2a61392766
Merge pull request #27 from piponazo/master-CMakeObjectLibraryForXmp
...
New way to generate the XMP library (Using the CMake OBJECT LIBRARY concept)
8 years ago
Luis Diaz Mas
b387d58507
Remove EXPAT_LIBRARIES from where it is not needed (already inherited from exiv2lib target)
8 years ago
Luis Diaz Mas
40d10639e2
Reuse XMP OBJECT library in the exiv2lib when EXIV2_ENABLE_LIBXMP=OFF
8 years ago
clanmills
935421c855
Refactoring autotools to support ADOBE_XMPSDK (Work in Progress)
8 years ago
Luis Diaz Mas
64bbe802e2
Install exv_conf.h properly
8 years ago
Luis Diaz Mas
b4a2b822c2
Remove usage of global variable INSTALL_TARGET_STANDARD_ARGS. Specify install destinitions in each target
8 years ago
clanmills
2e816165ea
Changes to autotools to support C++11 (work in progress)
8 years ago
Luis Díaz Más
b6885c8028
Since we are requiring CMake 3.1 we can remove the usage of PRIVATE_VAR and use directly PRIVATE or PUBLIC
8 years ago
clanmills
e2862ba764
#1300 and #1301 (583cfd6e and 3bbba3f8). These fixes were accidentally lost on 2017-08-07.
8 years ago
clanmills
1505b4c3aa
#11 Integrating fix into master (accidentally lost on 2017-08-07 by rebase -force)
8 years ago
clanmills
122cd5737f
Cosmetic modifications to Pull-21. Fix to ensure Cygwin uses #include <unistd.h>
8 years ago
Robin Mills
8592c10a3e
Merge pull request #21 from piponazo/configFileFromCMake
...
New way to generate the include/exiv2/exv_conf.h file
8 years ago
Luis Díaz Más
e474b0fbd3
localtime.c and getopt_win32.c added unconditionally for the exiv2 app
8 years ago
clanmills
011f2b5259
Fixing bug in test harness on Linux.
8 years ago