3824 Commits (137ea080b51fb48a7eb1b513d2d565868ccdf68f)

Author SHA1 Message Date
Rosen Penev 674fdcd38b clang-tidy: fix declartation names
Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 2e73aa9dc0 default con/destructors in headers
Helps to optimize trivially destructable stuff.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 428c436629 clang-tidy: simplify boolean expression
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 5d716c7df4 clang-tidy: empty() conversions
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 9642e3cceb clang-tidy: remove pointless string init
Found with readability-redundant-string-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 143a1fbbe2 clang-tidy: don't use string compare
Found with readability-string-compare

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8337462032 clang-tidy: use empty() instead of comparing size
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev af7b2430c5 clang-tidy: use override
Found with modernize-use-override

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 15f0a600ed clang-tidy: use default member init
Found with modernize-use-default-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 170b18db74
Merge pull request #1621 from Exiv2/mergify/bp/main/pr-1591
Fix infinite loop caused by subBox with zero size. (backport #1591)
4 years ago
Luis Díaz Más b4b8061478 Early access is always compiled 4 years ago
Kevin Backhouse 566ea272a1 Prevent large allocation.
(cherry picked from commit f154f0ae540deeb9251467187d01c2a5846d27b5)
4 years ago
Kevin Backhouse aac34630d4 Fix infinite loop caused by subBox with zero size.
(cherry picked from commit 2736126e7b92c5654f56620c097f9a4580c0f73b)
4 years ago
Luis Díaz Más 9dbffa719b Add missing public headers to install target 4 years ago
Rosen Penev 5a9c29303e clang-tidy: remove pointless static
Found with readability-static-definition-in-anonymous-namespace

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev bd6a996181 clang-tidy: use using
Found with modernize-use-using

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev b3040da54c clang-tidy: don't check for NULL with delete
Found with readability-delete-null-pointer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 1dc1186760 clang-tidy: simplify boolean expressions
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8128716287 clang-tidy: use = default
Found with modernize-use-equals-default

Ran through git clang-format

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 57cad2619b Add bounds check in Jp2Image::doWriteMetadata().
(cherry picked from commit e6a0982f7cd9282052b6e3485a458d60629ffa0b)
4 years ago
Luis Díaz Más b675c58bab Move include/CMake to src 4 years ago
Luis Díaz Más 1b4577904b Fix MSVC build 4 years ago
tbeu bf0d8114c9 #525: Update comment and fix variable name 4 years ago
tbeu 94420ab591 Remove custom rwlock in favor of `std::mutex` of C++11
Current design on Windows was broken anyway, since legacy class `RWLock` does not implement a proper rwlock (shared read and exclusive write)

Once we are allowed using C++14 features, we can replace the `std::mutex` by `std::shared_timed_mutex` and the read-access locks by `std::shared_lock`.
Once we are allowed using C++17 features, we can replace the `std::mutex` by `std::shared_mutex` and the read-acces locks by `std::shared_lock`.
4 years ago
Rosen Penev 4ceb325c8f clang-tidy: range for loop conversions
Found with modernize-loop-convert

Ran through git clang-format.

Also removed several questionable loops and replaced with simpler
algorithms.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev e93ad82734 clang-tidy: use braced init list
Found with modernize-return-braced-init-list

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 294372f2ad cmake: revert change due to old cmake versions on CentOS & debian9 4 years ago
Luis Díaz Más 582edd399c cmake: ignore PDBs warnings on Win/Debug/Static buils 4 years ago
Luis Díaz Más 9de534976f msvc: fix compiler warning on x86 4 years ago
Luis Díaz Más 90dde02359 Win - Disable UNICODE which is failing at the moment 4 years ago
Rosen Penev 84220855b2 clang-tidy: use = delete
Found with modernize-use-equals-delete

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 53f18cf408 conan: use cmake_paths generator instead of cmake
We also upgraded the xcode version on Travis-CI
4 years ago
Luis Díaz Más f601d23d5e conan: update conan recipe versions 4 years ago
Kevin Backhouse b3de96f4b4 Add more bounds checks in Jp2Image::encodeJp2Header 4 years ago
Luis Díaz Más e366c786b9 Fix -Werror=shadow warning after recovering EPS 4 years ago
Luis Díaz Más 9b9154d137 fix warning (hiding local variable) 4 years ago
Luis Díaz Más d5240a4bda eps: Fix code after usage of unique_ptr. Remove deprecation tags 4 years ago
Luis Díaz Más 8314030604 Revert "Remove deprecated EPS format"
This reverts commit 537cdad99e.
4 years ago
Kevin Backhouse 8388223deb Check that the string is properly terminated. 4 years ago
Kevin Backhouse e8422732af Fix LGTM warning about format specifier
https://lgtm.com/projects/g/Exiv2/exiv2/rev/pr-6633ad1cc6e6c36bffd6655165c299c53e934b22
4 years ago
Kevin Backhouse e97a9ff88a Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 27e349e063 Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 285e7a4e72 Fix out-of-bounds read in bmffimage.cpp 4 years ago
Kevin Backhouse 783b3a6ff1 Improve bound checking in WebPImage::doWriteMetadata() 4 years ago
Kevin Backhouse 23c1cda99d Fix signed/unsigned compiler warnings. 4 years ago
Kevin Backhouse f930883919 Better bounds checking in Jp2Image::encodeJp2Header() 4 years ago
Luis Díaz Más f85f7f717a Replace many of the iterators types with auto 4 years ago
Luis Díaz Más 75e4bd9059 Remove rest of useless typedefs from datasets.hpp 4 years ago
Luis Díaz Más 01a3bc716d Fix warnings in VS 4 years ago
Luis Díaz Más 75bf666d3b Remove typedef to Dictionary::const_iterator 4 years ago
Luis Díaz Más 0a1bf46a1c revert changes that are affecting to VS 4 years ago
Luis Díaz Más de4d43d4d1 Fix warnings EXIV2_TEAM_EXTRA_WARNINGS
Most of the warnings fixed were:
- Hiding of local variables
- Hiding of globals
- Useless casts
- Conversions between float/double
4 years ago
Luis Díaz Más 6c0059b5a0 cmake: Treat xmpsdk headers as system ones
This is done so that when we use EXIV2_TEAM_EXTRA_WARNINGS we do not get
warnings about XMPSDK (we do not want to deal with those)
4 years ago
Luis Díaz Más 83dda6ccd7 Fix warnings related to -Wdeprecated-copy 4 years ago
Robin Mills 3682bce15e Fix Ubuntu 20.04/Release/Sanitizer test breaker 4 years ago
Robin Mills d73dd0874d Fix icc_test which is failing on Linux:
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ cp large.icc Reagan2.icc
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ bin/exiv2 -iC /tmp/Reagan2.jp2
/media/linuxDev/programming/exiv2/src/jp2image.cpp:661:28: runtime error: reference binding to misaligned address 0x61f000002a9e for type 'const struct Jp2BoxHeader', which requires 4 byte alignment
0x61f000002a9e: note: pointer points here
 07 07 01 00 00 00  0c 53 63 6f 6c 72 02 00  00 00 00 0c 48 4c 69 6e  6f 02 10 00 00 6d 6e 74  72 52
4 years ago
Luis Díaz Más b5d3a1fd70 auto_ptr -> unique_ptr for code with WIN_UNICODE enabled 4 years ago
Luis Díaz Más 2de3bad869 Remove EXIV2_ENABLE_VIDEO and related stuff 4 years ago
Luis Díaz Más 3eb1eee7fe Remove deprecated RiffVideo support 4 years ago
Luis Díaz Más 061ec1a75d Remove deprecated QuickTime support 4 years ago
Luis Díaz Más 8dcc07887a Remove deprecated Matroska support 4 years ago
Luis Díaz Más 94b87a8dec Remove deprecated SSH support 4 years ago
Luis Díaz Más 384a5edfcf Remove deprecated ASF Video 4 years ago
Miloš Komarčević 3ddef8f8b8 Correct GDS distance unit in description
knot is a measure of speed...
4 years ago
Miloš Komarčević 94adf1b038 Improve precision of GPS lat/lon printed values 4 years ago
Miloš Komarčević 3f3bbc28ad Improve printing of GPS info 4 years ago
Robin Mills 206a2c495c fix_enableBMFF_v1 4 years ago
Miloš Komarčević f700043a6d Add Exif Gamma tag 4 years ago
Luis Díaz Más ede33f5eba Initialization of variables (fix issue detected with sanitizers) 4 years ago
Luis Díaz Más 5fcea2b4e2 Use stack variables instead of java style 4 years ago
Luis Díaz Más 0bbaa6eff3 cpp: Replace auto_ptr by unique_ptr 4 years ago
Luis Díaz Más 537cdad99e Remove deprecated EPS format 4 years ago
Robin Mills 9e6a520089
Merge pull request #1539 from Exiv2/FixIssue1530
Fix integer overflow
4 years ago
Kevin Backhouse 9b7a19f957
Fix integer overflow. 4 years ago
Kevin Backhouse 0a91b56616
Fix incorrect delete. 4 years ago
Pydera 13e5a3e023 Fix out of buffer access in #1529 4 years ago
Robin Mills 22ea582c6b fix_1522_jp2image_exif_asan 4 years ago
Robin Mills aef9cf76f7 fix_1503_JXL_bmff 4 years ago
Robin Mills 49cfe45323
Merge pull request #1513 from Exiv2/fix_1508_enableBMFF
Fix 1508 enable bmff
4 years ago
Robin Mills 9da2aed5d2 Use the documented 5 line prolog in every sample application. Tidy up sample prologs and header code. 4 years ago
Robin Mills 190106ca78 fix_1507_avif_size0x0 4 years ago
Robin Mills d632988bbd Massive code prolog cleanup. 4 years ago
Robin Mills 99600c6aaf exiv2 --verbose --version was reporting have_strerror_r twice! 4 years ago
Robin Mills 6fad24cd11
Merge pull request #1491 from Exiv2/fix_1486_effort2
fix_1486_effort2
4 years ago
Robin Mills 717fc098be fix_1486_effort2 https://github.com/Exiv2/exiv2/pull/1486#discussion_r593161473 4 years ago
Miloš Komarčević f95d97a0bf Add mif1 brand to heif mime type 4 years ago
Miloš Komarčević fcb3066950 Include a few more BMFF major brands 4 years ago
Miloš Komarčević b3dfabdde0
Merge pull request #1486 from Exiv2/fix_1484_empty_ascii
Terminate empty ASCII strings
4 years ago
clanmills ba6a577ab9 https://github.com/Exiv2/exiv2/pull/1486#issuecomment-796843835 4 years ago
Robin Mills 09567b477b
Merge pull request #1487 from kmilos/housekeep_bmff
Include HEIC type explicitly
4 years ago
Miloš Komarčević fa41e52c8a Add comment and test case 4 years ago
clanmills bf1be5cb50 fix_1473_LocationShown 4 years ago
Miloš Komarčević e3c78623f7 Include HEIC type explicitly 4 years ago
Miloš Komarčević 26ba26e241 Terminate empty ASCII strings as well 4 years ago
Robin Mills 9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
Base Media File Format
4 years ago
Robin Mills 02477faf4e Following review by @hassec, I use static base64_encoding vector in both Exiv2::base64encode() and Exiv2::base64decode().
I'm a little uneasy about changes to the API of the shared object/DLL.  I will investigate #890 during the release process.  So I have a plan to identify this if it's an issue.  I think it's OK.

```
703 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
00000000001c33a0 s Exiv2::base64_encode
704 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm -g --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
705 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $
```
4 years ago
clanmills 212f1b5ebb Following review by @piponazo, I am clarifying the bool return from Exiv2::enableBMFF(). 4 years ago
clanmills e3fd0c633e Thank You @piponazo for the code review. I've made the changes you requested. 4 years ago
postscript-dev 5f563b5255 Fix spelling mistakes in LangAltValue::read()
Removed unneeded comments and empty space.
4 years ago
Miloš Komarčević 0da1a50afe Revert style changes 4 years ago
clanmills 4c52861a74 Fix msvc build breaker. 4 years ago
Miloš Komarčević e09d093ccf Minor whitespace formatting 4 years ago
postscript-dev 282d1d6995 Add static to LangAltValue::read() const values 4 years ago
clanmills f1303cbcda Another effort to fix base64decode and associated unit test. 4 years ago
clanmills 87e536dadf Fix #1358. This should be in a different PR. Keep changes to base64 encode/decode together. 4 years ago
clanmills db9bec3e01 Restore -pC --binary to output everything. Test suite updated to suit. 4 years ago
clanmills 21c610e952 Restoring i < dataLength trigraph that I should not have removed. 4 years ago
clanmills 2f2dd7d56c Fix ICC profile handling (my bad, iOS files are correct). 4 years ago
clanmills c59c53acf5 Trick to avoid msvc issue with final line of base64 data. 4 years ago
clanmills 1eeeecea50 Replaced Exiv2::base64encode() because last effort failed unit test on msvc. 4 years ago
postscript-dev 6cd9263fa7 Fix langAltValue::read() parsing
+ Fix segmentation faults in langAlt parse
+ Fix mismatched quotation marks and incorrect values
+ Add Python testing
  + Some tests commented out as quotation marks are filtered, preventing them
    from running.
Closes #1481.
4 years ago
clanmills 80e20304cb Fix Linux build breakers. 4 years ago
clanmills 5410395576 Replaced the ugly code in Exiv2::base64encode() and update the test suite. 4 years ago
clanmills 0ad46453ed With good fortune, bmffimage is ready for review. 4 years ago
clanmills ee4d14340a Fix box.length == to use bigEndian decode! Fix toAscii() to emit on ascii 32-127 bytes. 4 years ago
clanmills df68648dc3 refactored setModeAndPrintStructure() to respect class Task.binary_ when printing ICC profiles. 4 years ago
clanmills b983a9db75 Re-awaken obsolete command-line argument --binary and store class Task. 4 years ago
Robin Mills 71d29fe60b Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows. 4 years ago
clanmills 55d2201892 Changed CI build default -DEXIV2_ENABLE_BMFF=On. Fixed suite to run with/without bmff. -pS and -pR same for bmff. 4 years ago
Robin Mills c84274ec19 Cosmetic change to -pR/-pS output. 4 years ago
Robin Mills fd9cb67fb7 WIP: adding BmffImage::printStructure() and support for colr box. 4 years ago
Miloš Komarčević 2b38d221dc Adding DNG 1.6 triple-illuminant calibration tags 4 years ago
Robin Mills 4ca05ed34a Fix .CR3 files to call parseXmp(). 4 years ago
Robin Mills ea1c91874f Added parseXmp() to parse Xmp metadata. 4 years ago
Robin Mills 44d976c2a1 Remove bmffimage::printStructure() as discussed in review with @hassec. Corpse removal and cleanup in bmpfimage.hpp 4 years ago
Peter Kovář dcfe538a09 Revert "Add artist tag"
This reverts commit c46e800c0a.
4 years ago
Peter Kovář c46e800c0a Add artist tag 4 years ago
Robin Mills 5c77888037 Revised following code review by @hassec. Thank You, Christoph. 4 years ago
Peter Kovář 4d3af08ad8 Add CR3 image dimensions 4 years ago
Robin Mills 4ae0a1d2a3 Tidy up. Rename Tag::cr3_exif -> Tag:cmt2 4 years ago
Robin Mills 9515e4658b Cleanup. 1. Recursively process uuid/cano box. 2. Fix LGTM/CI sprintf grumbles. 3. Comment parseTiff() in bmffimage.hpp. 4 years ago
Robin Mills 913ee33372 Parse Exif in .HEIC/.AVIF 4 years ago
Peter Kovář 108670b309 Corrected format string 4 years ago
Christoph Hasse 28b41f59bd run clang-format on new files 4 years ago
Christoph Hasse 29f3d5cac9 introduce parseTiff method to parse exif 4 years ago
Robin Mills f190f496d1 Tidying up. 1. pixelHeight_. 2. refactored indenter() -> indent(). 3. EXIV2_DEBUG_MESSAGES outputs to std::cerr 4 years ago
Robin Mills 4a96025294 Fixed recursion issue in the meta box. 4 years ago
Peter Kovář bafea0f1b8 [WIP] Fixed Image Spatial Extents Property Handling 4 years ago
Robin Mills 8d7133d7bc WIP: Added class Iloc and related code. 4 years ago
Robin Mills 8976a23f2d More fixes for LGTM/CI warnings. 4 years ago
Robin Mills 64866cc568 Fixing warnings from LGTM/CI. 4 years ago
Robin Mills 0b4b7c695e Fix msvc/CI build breakers. 4 years ago
Robin Mills 630fb23046 Fixing a build breaker. 4 years ago
Robin Mills 6d13e44e5a WIP: Refactored readMetadata() into recursive boxHandler() 4 years ago
Peter Kovář 0360a7ded5 [WIP] Yet another type cast correction to make Travis CI happy 4 years ago
Peter Kovář a75ac74417 [WIP] Correction to make Travis CI happy 4 years ago
Peter Kovář 04481dd753 [WIP] 64-bit length 4 years ago
Robin Mills d455f473e8 C++ simplification. 4 years ago
Robin Mills 7beb4e3e0d fix_1471_sony2010_0.27 4 years ago
Peter Kovář 4fa0a88097 [WIP] Correction
https://ci.appveyor.com/project/piponazo/exiv2-wutfp/builds/37795261/job/23l6a0u0wt6ax79l
4 years ago
Peter Kovář 81e0f99254 [WIP] Another try 4 years ago
Peter Kovář 7b5854e26e [WIP] Redefine tags 4 years ago
Peter Kovář f0a321dedb [WIP] Base Media File Format 4 years ago
Robin Mills c40eccd062 fix_1464_sony2010e Fix c++ code 4 years ago
Peter Kovář c608148820 [WIP] Added box types 4 years ago
Ingo Weyrich a6a47346a8 Use a.rfind(b, 0) == 0 instead of a.find(b) == 0 to reduce processing time when checking that a starts wit b, #1459 4 years ago
Peter Kovář e19fca6640 Small corrections 4 years ago
Robin Mills f5c6e7595f Fix Linux build-breaker when ENABLE_ISOBMFF=False and EXIV2_TEAM_WARNINGS_AS_ERRORS=On 4 years ago
Robin Mills fa39234275 Fixing Linux build/test issues. 4 years ago
Robin Mills 0844e1bbfb Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code. 4 years ago
Robin Mills 460a802671 Fix image handler to give jp2image code higher priority than the next isobmff code. 4 years ago
Peter Kovář 92469f4c27 [WIP] Add ISO/IEC Base Media File Format 4 years ago
czgnp ddd326fc18
Update canonmn_int.cpp
Added Sigma 35mm/1.4 to lens id 368 and changed resolver to look at both focal length and aperture. Fixed canonEv so lenses with f/6.3 report as f/6.3 (they actually report f/6.2 to camera)
4 years ago
Christoph Hasse 056359d89b fix formatting 4 years ago
Christoph Hasse 93869e1311 use EXV_PRINT_TAG macro instead of specific print function 4 years ago
Christoph Hasse 51bd57e387 add shutter mode and mechanical shutter count to nikon makernote 3 4 years ago
Alex Esseling cf9be2cc3b fixing exceptions and reordering tags 4 years ago
Alex Esseling ff2ffb1909 add_cr3_tags 4 years ago
Miloš Komarčević 19decc1193
Merge pull request #1436 from Exiv2/dng_1.6
Add DNG 1.6 support
5 years ago
Christoph Hasse 4c2ac99673 try and fix ci-build 3/N 5 years ago
Christoph Hasse f740fcd823 try and fix ci-build 2/N 5 years ago
Christoph Hasse 814357a6d1 try and fix ci-build 5 years ago
Christoph Hasse 2909e9cacc Implement handling of new Nikon LensData version 8.0 and 8.01 5 years ago
Miloš Komarčević 240179514c Add DNG 1.6 support 5 years ago
Robin Mills 9b5108583b Revert "Revert "fix_1431_binary_comment.""
This reverts commit 2866415322.
5 years ago
Robin Mills c6167258ce Revert "Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue."
This reverts commit ecae9dc6eb.
5 years ago
Robin Mills 2866415322 Revert "fix_1431_binary_comment."
This reverts commit b6bf20a897.
5 years ago
Robin Mills af8699a8ac Revert "Fixing test suite."
This reverts commit 23f39b60f7.
5 years ago
Robin Mills 23f39b60f7 Fixing test suite. 5 years ago
Robin Mills ecae9dc6eb Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue. 5 years ago
Robin Mills b6bf20a897 fix_1431_binary_comment. 5 years ago
Miloš Komarčević 01a146e014
Merge pull request #1427 from Exiv2/prettyprint_planarconfig
Pretty print PlanarConfig
5 years ago
Miloš Komarčević 5e7a563407 Pretty print PlanarConfig 5 years ago
Miloš Komarčević 85e3a31242 Promote remaining SHORT/LONG tags default type 5 years ago
Robin Mills 866d213983
Merge pull request #1409 from Exiv2/fix_1402_rafimage_0.27
fix_1402_rafimage_0.27
5 years ago
Robin Mills 2466c78fe6 Calming Test Suite concerning Continuous and CropMode confusion. 5 years ago
Robin Mills a71eb24956 Pointless change to trigger CI to build again. 5 years ago
Robin Mills e032586d74 Code/comment tidy. 5 years ago
Robin Mills 9b877f8506 Success. It's working! 5 years ago
Miloš Komarčević 0b5ba68e54
Merge pull request #1412 from Exiv2/dng15_0.27
Add DNG 1.5 tags and values
5 years ago
Robin Mills c48189afa7 Add FujiIFD to TiffCreator::tiffGroupStruct_ 5 years ago
Robin Mills a8b549f7df Remove debugging code. 5 years ago
Miloš Komarčević 4ab2eb3ec6 Add DNG 1.5 tags and values 5 years ago
Miloš Komarčević 13032f44f1 Fix Pana tag typo and improve Fuji tag description 5 years ago
Robin Mills 45119e3260 WIP: working to understand how to support tiffIfd in tiffvisitor_int.cpp 5 years ago
Miloš Komarčević b410eb3550 Complete DNG 1.4 spec support 5 years ago
hanno@schwalm-bremen.de a2f4082beb Revert exv commit and remove empty line. 5 years ago
hanno@schwalm-bremen.de abce0ac300 Fix typo and remove empty line. 5 years ago
hanno@schwalm-bremen.de 01a449544c Adding support for DefaultUserCrop and BaselineExposureOffset
Nothing special, copied from dng 1.5 reference.
5 years ago
Robin Mills 76514a1654 WIP #1402 rafimage::printStructure() improved formatting. 5 years ago
Robin Mills 49fa54d7f2
Merge pull request #1407 from FreddieWitherden/0.27-maintenance
Add support for Fuji's CropMode tag.
5 years ago
Freddie Witherden 8f1f6fce1f
Add support for Fuji's CropMode tag. 5 years ago
Robin Mills e045fd666a
Merge pull request #1389 from Exiv2/fix_929_exif2.31_0.27
fix_929_exif2.32_0.27
5 years ago
Robin Mills 5f9daf725b Moved orphaned declaration of exifGPSDirRef. 5 years ago
Miloš Komarčević c688ed448d Moved ambient tags to Exif only list, other refactoring
Handle more TIFF/EP vs Exif differences

Moved translated values (GPS, Exif) closer to their respective lists
5 years ago
Robin Mills 829ed7da15 Clarified definition and use of enum SectionId @kmilos: please review/approve. 5 years ago
Robin Mills 4017f79c83
Merge pull request #1400 from Exiv2/fix_1393_iptc_tags_web_0.27
fix_1393_iptc_tags_web_0.27
5 years ago
Robin Mills 4c52891549 Fix tag GPSHPositioningError to use printValue() pretty-printer. 5 years ago
Robin Mills a59a382961 I hope I've made a better job of this at this attempt. I don't thing the "section" enum is of much importance. I don't believe anything in particular is done with with it.
```cpp
    /*!
      @brief Section identifiers to logically group tags. A section consists
             of nothing more than a name, based on the Exif standard.
     */
    enum SectionId { sectionIdNotSet,
                     imgStruct, recOffset, imgCharacter, otherTags, exifFormat,
                     exifVersion, imgConfig, userInfo, relatedFile, dateTime,
                     captureCond, gpsTags, iopTags, mpfTags, makerTags, dngTags, panaRaw,
                     tiffEp, tiffPm6, adobeOpi,
                     lastSectionId };
```

I pleased with the documentation and drawing I have added to the book concerning the Exif Specification.

https://clanmills.com/exiv2/book/#Exif
5 years ago
Robin Mills e887b6487f fix_1393_iptc_tags_web_0.27 5 years ago
Freddie Witherden ff0dc4b1df
Add support for Sony lens aberration correction parameters. 5 years ago
Miloš Komarčević 12f7002493 Minor DNG related changes after review 5 years ago
Miloš Komarčević e92d5f2e61 Add remaining DNG 1.3 tag values 5 years ago
Miloš Komarčević 682927ee25
Also use existing light source pretty print for DNG 5 years ago
Miloš Komarčević 2113dfeb8a Add DNG CFALayout values 5 years ago
Miloš Komarčević 04a9743a1c Fix syntax error, improve value name style 5 years ago
Miloš Komarčević a2a7ee2733 Add some DNG related tag values 5 years ago
clanmills 58ae0b0752 fix_929_exif2.31_0.27 5 years ago
Robin Mills 3e78cac3f4
Merge pull request #1384 from Exiv2/fix_1380_binary
Disable exiv2 option --binary (0.27->maintenance)
5 years ago
Miloš Komarčević 1038e62a42 actions: simplify print summary using easyaccess 5 years ago
Miloš Komarčević f6abec4432 exiv2 pr uses easyaccess API (co-authored with clanmills) 5 years ago
Miloš Komarčević 5e92d5e078 Fix easyaccess-test 5 years ago
Miloš Komarčević 98f4effeea Add DateTimeOriginal to easyaccess 5 years ago
Miloš Komarčević 189e0c9338 Add more easy accessors for Exif & TIFF/EP overlap 5 years ago
clanmills bfee7abfc5 Disable exiv2 option --binary 5 years ago
Olli Lupton eec8e8902f Add LensType entry for Olympus M.Zuiko Digital ED 17mm F1.2 Pro lens. 5 years ago
Leonardo Brondani Schenkel 0f6fef7507 Make lens name consistent with models 150 and 368 5 years ago
Leonardo Brondani Schenkel c4d18d02e7 Detect Sigma 18-35mm f/1.8 DC HSM (firmware 2.x)
On Canon bodies and lens firmware 1.x, this lens identifies itself using
model number 150. Starting with firmware 2.x, this lens now identifies
itself using model number 368.

Exiv2 was correctly identifying the former but not the latter.

This commit also fixes a pre-existing bug in which exiv2 was not
correctly disambiguating lenses using model number 368.
5 years ago
Luis Díaz Más 9eb058bd43 Modify strncpy0 to avoid warning 5 years ago
Luis Díaz Más 44debddf4e Hide zlib absolute path in cmake config file 5 years ago
Luis Díaz Más 8dc42199e8 Hide exiv2-xmp dependency in CMake config file: 5 years ago
Luis Díaz Más b9164d9f8b Revert "change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode()."
This reverts commit b596f311f4.
5 years ago
clanmills b596f311f4 change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode(). 5 years ago
clanmills c7bcfcfbf8 replace base64encode in src/futils.cpp 5 years ago
Robin Mills 55bdaafebf
Merge pull request #1341 from Exiv2/fix_1278_nls_test_0.27
Fix 1278 nls test 0.27
5 years ago
Robin Mills 5240630849 fix_1353_mingw_toolchain_0.27 5 years ago
clanmills 2adde8dd73 Fix compiling http.cpp and reinstate centOS on gitLab. 5 years ago
Robin Mills bc01aac114
Merge pull request #1351 from Exiv2/fix_1343_png_0.27
Fix 1343 png 0.27
5 years ago
clanmills 9fa6d3965a C++ changes requested by @piponazo. Fix python png_test() recommended by @LeoHsiao1. Update reference output. 5 years ago
clanmills 834dca39d0 Code changes 5 years ago
Luis Díaz Más 778479556f Include winsock2 at the beginning of http.cpp 5 years ago
Luis Díaz Más 30773c92a3 WIN32_LEAN_AND_MEAN propagated with exiv2lib target 5 years ago
Luis Díaz Más b304244766 Move winsock2 inclusion to http.cpp 5 years ago
Robin Mills 604a268059 Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism. 5 years ago
clanmills 7ff0e0613a fix_1335_winsock2_0.27 5 years ago
clanmills e0e2a71a48 Fix: https://travis-ci.org/github/Exiv2/exiv2/jobs/730867927 5 years ago
clanmills 48afa7548d fix_1329_remove_bigtiff_0.27 5 years ago
clanmills 37cc2db72d fix 1307 ASAN issues with RemoteIo 5 years ago
Luis Díaz Más f39b23806b Assume existence of stdint.h 5 years ago
Luis Díaz Más b7ee13eb63 Use ctime instead of time.h 5 years ago
Jan Tojnar 306c8a6fd4
cmake: Fix include_directories for exiv2lib target
The headers are installed to ${CMAKE_INSTALL_INCLUDEDIR} but the CMake config was hardcoded to include directory.
5 years ago
Jan Tojnar 48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:

https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
https://github.com/jtojnar/cmake-snips#assuming-cmake_install_dir-is-relative-path

Let's join them properly as paths, not strings.

On Windows, the absolute paths will likely remain unsupported as neither the CMake function,
nor the C++ code is able to detect absolute paths.

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
5 years ago
Robin Mills 963c91fe8a fix_1266_GPSProcessingMethod 5 years ago
tbeu f61fa2ed9d
Fix write ability flags of PSD files (#1260) 5 years ago
Robin Mills 22ed9b157b Fixed typo declaration of pad when writing ICC profile. 5 years ago
Robin Mills 181dd47385 Fix correctly this time and tested with the user files. Test suite updated to use Reagan2.jp2 5 years ago
Robin Mills b91de7acd0 fix_1236_0.27 5 years ago
Robin Mills 58fb9f850b
Merge pull request #1227 from Exiv2/v0.27.3_RC2
v0.27.3 rc2
5 years ago
clanmills 7383d96d47 Fix compiler error when using EXIV2_DEBUG_MESSAGES. 5 years ago
Robin Mills 08d1cd84c2 Don't compile localtime.c (hurray) 5 years ago
Robin Mills 6b4a9e5b40 fix_1219_remove_localtime_0.27 5 years ago
Robin Mills 7bf40a2408 fix_1211_c++11_0.27. I'll explain this in the PR. 5 years ago
clanmills 6d7a5266ea fix_1219_mingw_crw_date_0.27 5 years ago
Robin Mills 3f1a6a509b
Merge pull request #1211 from Exiv2/cpp98_cygwin_0.27
http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2.
5 years ago
clanmills 0215608071 http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2. 5 years ago
clanmills d07a1f94f8 fix_547_0.27 5 years ago
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 6 years ago
Luis Díaz Más 704fc56d52 Keep the profileName from readMetadata and use it in writeMetadata 6 years ago
Luis Díaz Más e385599067 Refactoring to make the doe more readable. Fix icc tests 6 years ago
Luis Díaz Más 436b0f87b5 Add missing header when -DDEBUG is present 6 years ago
Luis Díaz Más d1097fab59 Factor our function to read PNG Chunk info 6 years ago
Luis Díaz Más 914a8c5585 Factor out exception throw in different places inside isPngType 6 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