4129 Commits (dd445e6c8df9389f0ce49f2913a28e828f092dea)

Author SHA1 Message Date
Rosen Penev b2b6d834ba
some std::array conversions (#2148)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 573c3c79fc
Merge pull request #2145 from Exiv2/mainSizeT_n
More migration to size_t
3 years ago
Jim Easterbrook 04ae6c2c4c
Add key name to "Value not set" error message (#2149)
The error typically occurs when writeMetadata() is called. It's easier
to find the problem if you know which datum hasn't had a value set.
3 years ago
Luis Diaz 4355d635d4 More conversions to size_t while removing static_casts 3 years ago
Luis Diaz 7576a2757b More size_t for sizes 3 years ago
Luis Diaz 137ea080b5 Change Metadatum::size() return value from long to size_t 3 years ago
Luis Diaz 62aad98d0b Change Metadatum::copy return value from long to size_t 3 years ago
Luis Diaz fa24fb22ca Use compiler deduction guides for error list 3 years ago
Luis Díaz Más 7119b7676f remove templating & simplify error message
+ clang-format in Error files
+ Remove AnyError
3 years ago
Luis Díaz Más 96f7f2e4c5 Convert Exiv2::ErrorCode into an enum class 3 years ago
Luis Díaz Más 5d08bb9bec
Merge pull request #2146 from Exiv2/mainDatesWithZeros
DateValue is now a bit more permissive with malformed dates
3 years ago
Luis Díaz Más c115d4daf7
Merge pull request #2131 from Exiv2/mainCleanups
Include what you use + more SPDX identifiers + few other cleanups
3 years ago
Luis Diaz 56c52be8b5 DateValue is now a bit more permissive with malformed dates 3 years ago
Luis Díaz Más 5c36c690f9
Merge pull request #2137 from Exiv2/mainRecoverRecordId
Recover IptDataSets::recordId in the API
3 years ago
Luis Díaz Más a009ac1f61
Merge pull request #2135 from neheb/1
manual nullptr removals
3 years ago
Luis Diaz c1ae1bcb03 Recover IptDataSets::recordId in the API 3 years ago
Rosen Penev 8dadcdf72a manual nullptr removals
unique_ptr has a bool overload. It's also easier to reason about.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 784cbe2965 manual move conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević eb49d66caf Strip XMP raw packet before decoding 3 years ago
Rosen Penev b8304fffa4 clang-tidy: don't use C casts
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 89e66ffd37
Merge pull request #2132 from neheb/2
misc cleanups
3 years ago
Luis Díaz Más f894ee0568 Fix debug builds 3 years ago
Luis Díaz Más c0a3242e73 C++-style headers 3 years ago
Rosen Penev c2bcd4b08e replace EXV_COUNTOF with std::size
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 61a5d8594c remove some new
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 17a13072e6 manual unimplemented operator = delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b3823f4c8d conversions to make_unique
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b6bdbf5574 clang-tidy: don't use else after return/throw
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 9f949195e4 clang-tidy: add ending namespace comment
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 09ca3ca1f2 manual namespace concatenations
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más c146ae5215 Fix mac build 3 years ago
Luis Díaz Más bbc99ae581 Use auto for unique pointers 3 years ago
Luis Díaz Más f156af46f3 Fix build on Windows 3 years ago
Luis Díaz Más b3a216310a Removing unused headers thanks to IWYU 3 years ago
Luis Díaz Más 22064c957d Add missing header to the CMake configuration 3 years ago
Luis Díaz Más 2834fa5f05 Use [[maybe_unused]] 3 years ago
Luis Díaz Más 5508e6f466 hexdump to size_t 3 years ago
Luis Díaz Más 8b1fe379a1 Removing unused headers thanks to IWYU 3 years ago
Luis Díaz Más 3f3b651c04 Remove unused stuff 3 years ago
Luis Díaz Más 15697fcd1e Remove unused file 3 years ago
Luis Díaz Más 23da0c3955 Do not define not needed stuff 3 years ago
Michael Allman 7ed43037e3 Guard against parsing "inf" into an int64 in the EasyAccess/ISO API.
(Diff authored by clanmills)
3 years ago
Rosen Penev f0d23eca9b clang-tidy: add some missing operators
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev daf7c890e2 misc stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 95355fe214 clang-tidy: remove C casts
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 8cda090e58 clang-tidy: get rid of compare() usage
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 63e41c3aeb clang-tidy: simplify bool
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 133849c394 clang-tidy: remove pointless get()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 6d1fa2ecea clang-tidy: use empty() instead of size()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5833101b9b manual nullptr conversions
Mostly not caught because I'm not running clang-tidy on Windows.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev e6d3315160 clang-tidy: use emplace_back
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 77e79b32f5 manual braced init conversion
clang-tidy's not converting these for some reason.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a25bbe133f constexpr string conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 887b08b0b7 clang-tidy: range loop conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 04bacdedd6 clang-tidy: use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 962e3b7369 clang-tidy: use default
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a5c094b85f clang-tidy: use concat namespaces
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 118aa78aa0 clang-tidy: use braced init list
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev f65848a590 simplify ReplaceStringInPlace slightly
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5d60a91ebc move initializations to class
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a67e0d525f move namespace fs below includes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev ae3e28c62a make array constexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más b17828b454
Use SPDX for licenses (#2122)
* Use SPDX identifier in header files

* Use SPDX identifier in rest of source files

* Fix usage of SPDX for files with 2 licenses

* Add global license file

* Fix compilation
3 years ago
Luis Díaz Más 5ca423d292
Merge pull request #2118 from Exiv2/main_NewDelete
Refactoring & Cleanup (Moving to size_t usage & less naked new/deletes)
3 years ago
Luis Díaz Más a5b6db171c
Merge pull request #1919 from dimin/viqi
fix for reading jpeg-xr images
3 years ago
Luis Díaz Más ac9b9e2c95
Merge pull request #2071 from Sturmflut/nikon-improve-lens-docs
[nikon] Add instructions for adding new Nikon F mount lenses
3 years ago
Luis Díaz Más 208ec70df8 Fix windows builds 3 years ago
Luis Díaz Más e07c3771da Fix more issues found by fuzzer 3 years ago
Luis Díaz Más 12738214f2 Fix warnings and place return statements separated from if 3 years ago
Luis Díaz Más f6b17d2a4d Fix issues found by fuzzer 3 years ago
Luis Díaz Más b9f9d041ea Several transformations on DataBuf + migration to size_t
- Provide begin/end iterators to DataBuf and simplify code
- Adapt test output after last changes
- Replacing long by size_t in value.hpp
- Use size_t in some Photoshop functions
- Remove some static_casts
3 years ago
Luis Díaz Más 7dea0050b1 Factor out duplicated piece of code 3 years ago
Luis Díaz Más 5d627433fc Remove useless DataBuf::clear() 3 years ago
Luis Díaz Más 3a749e6861 No need to define copy & move ctors 3 years ago
Luis Díaz Más 2bacff0f5c Simplify DataBuf 3 years ago
Luis Díaz Más 615ccff5ab Fix another case revealed by tests 3 years ago
Luis Díaz Más 6e50714726 Replace c style arrays by std::array 3 years ago
Luis Díaz Más f1e04ee866 Replace DataBuf internal buffer with std::vector 3 years ago
Luis Díaz Más aec36f86d7 Replace naked new operators 3 years ago
Robin Mills 9bf4967e5c
Merge pull request #2110 from mallman/nikon_ContrastDetectAFInFocus
Make Nikon ContrastDetectAFInFocus tags Bytes that print as "Yes" or "No"
3 years ago
Michael Allman 5ff7d89a4c Document origin of data size specifications for Nikon maker note tag 0xb7 3 years ago
Michael Allman 54eab964a6 When selecting which version of nikonAf2 metadata to parse, include the
size of the data declared in the tag header as part of the lookup
3 years ago
Luis Díaz Más c5a9dfd9af
Merge pull request #2109 from Exiv2/main_StringView
Refactoring & cleanup
3 years ago
Michael Allman a3e2410b88 Print value of ContrastDetectAFInFocus as Yes/No. Change internal
selection logic for NikonAf2* from tag data length to group version
3 years ago
Kevin Backhouse 5d86044c71
Merge pull request #2107 from kevinbackhouse/MetadataToLong
Replace Metadatum::toLong() with Metadatum::toInt64().
3 years ago
Luis Díaz Más 21eb0cec4f Fix build when EXIV2_BUILD_MESSAGES is ON 3 years ago
Luis Díaz Más 8b3da36f42 Improvements from code review 3 years ago
Kevin Backhouse a7ce4ee846
Move Metadatum::toUint32() implementation out of header file. 3 years ago
Michael Allman 9541a89b13 Make Exif.NikonAf2.ContrastDetectAFInFocus and
Exif.NikonAf22.ContrastDetectAFInFocus byte types
3 years ago
Kevin Backhouse 5db9a25b19
Fix compiler warnings. 3 years ago
Kevin Backhouse 90aa007188
Convert type of pixelHeight/pixelWidth to platform-independent uint32_t. 3 years ago
Luis Díaz Más f774a3b25e Fix build on linux 3 years ago
Luis Díaz Más 9fb43f28e0 Use standard [[maybe_unused]] 3 years ago
Luis Díaz Más 76f01fd4d3 Clean more header inclusions 3 years ago
Luis Díaz Más 7e5ba7cb23 Remove many redundant or not needed header inclusions 3 years ago
Luis Díaz Más b543f3e973 Use filesystem in getExiv2ConfigPath
It seems to have an important impact in performance. The execution of
ctest on Windows passed from 48.5 secs to 43.8. Check if this is the
same on Linux
3 years ago
Luis Díaz Más 476a5e23f9 Replace raw loop for any_of 3 years ago
Luis Díaz Más 59f4d0de27 cppcheck: reduce scope of variables 3 years ago
Luis Díaz Más d11479e53c Replace dynamic C array by std::vector 3 years ago
Luis Díaz Más ea201ce613 Remove dead code 3 years ago
Luis Díaz Más 1d243ed40e Remove dead code: copyXattrFrom 3 years ago
Luis Díaz Más c0b663b7ea Remove dead code (LSTAT) 3 years ago
Luis Díaz Más 798cf9baeb Remove dead code (winNumberOfLinks) 3 years ago
Luis Díaz Más a6185d29c6 Image::setComment now takes string_view 3 years ago
Luis Díaz Más 56b5ab9a29 Use remove from filesystem 3 years ago
Luis Díaz Más 9b3a643d33 Use rename from filesystem 3 years ago
Luis Díaz Más 8b2d17312e ReplaceStringInPlace does it in-place now 3 years ago
Luis Díaz Más 45300ad667 BasicIo::path() returns const ref 3 years ago
Luis Díaz Más 0726104b1a Hide pathOfFileUrl in the only place where it is used 3 years ago
Luis Díaz Más 6f762b4e66 Use std::filesystem for fileExist 3 years ago
Luis Díaz Más f1ff3aaa4c Make urldecode in-place 3 years ago
Luis Díaz Más 3d370cc2ae Improvements in urlencode 3 years ago
Luis Diaz 8e0e00c459 make startsWith constexpr and use string_view 3 years ago
Luis Díaz Más f5c89a4e62 Fix build on Windows 3 years ago
Luis Díaz Más 405f4b5f1b Remove Util::dirname and finally the util files 3 years ago
Luis Díaz Más 1b912fa887 get rid of suffix 3 years ago
Luis Díaz Más dad3e7f5c4 Replace suffix implementation with std::filesystem 3 years ago
Luis Díaz Más 2c51208622 Replace basename implementation with std::filesystem 3 years ago
Luis Díaz Más d64c2aad67 Replace dirname implementation with std::filesystem 3 years ago
Luis Díaz Más f1c8d5bbb4 Remove unused headers 3 years ago
Luis Díaz Más 7c6a7aefc2 Utils::strtol only used in the app 3 years ago
Luis Díaz Más 8c6e22e6aa replace is only used in actions.cpp 3 years ago
Luis Díaz Más 49fbfb44a3 Remove startsWith from utils 3 years ago
Luis Díaz Más d1524e3d96 simpler implementation of startsWith 3 years ago
Luis Díaz Más a725d22ea5 add characterisation tests for utils 3 years ago
Luis Díaz Más a8bb38ab6f Move exiv2 app into its own folder 3 years ago
Kevin Backhouse 256365830a
Replace Metadatum::toLong() with Metadatum::toInt64(). 3 years ago
Luis Díaz Más 15c91b4cc9
Merge pull request #2101 from Exiv2/main_LinuxDistrosOnPRs
Linux distros jobs on PRs + Fix linking issues on some platforms
3 years ago
Luis Diaz 38254be55e Install new image_types.h header 3 years ago
Luis Diaz b7d5c7e22a Link against stdc++fs on Linux when it is needed 3 years ago
Robin Mills 287744fa12
Merge pull request #2087 from Exiv2/update_canon_tags_2
Update canon tags 2
3 years ago
Luis Díaz Más 408d80bce8 Change order of ImageType values 3 years ago
Luis Díaz Más f10283f118 bug: Fix crash when calling ImageFactory::create(none) 3 years ago
Luis Díaz Más 5a9799ffb2 Replace ImageType namespace by a enum class 3 years ago
Christoph Hasse 0aa34c3098 fix(canon): cleanup canonAf2 and canonAf3 related code 3 years ago
Robin Mills 800ed8959f Rewire Canon MakerNote 0x0026 (AFInfo) to allow TiffDecoder::decodeCanonAFInfo to handle this tag.
Minor changes to test script.
Cosmetic code changes.
3 years ago
Luis Díaz Más d19e2d42df Use AutoRotate 3 years ago
Luis Díaz Más e625f331f9 Include CanonFlashInfo (somehow missing after cherry-picking) 3 years ago
Luis Díaz Más de036b2b2a Fix remaining wrong brackets 3 years ago
Alex Esseling 4977b7d5c3 controlmode added 3 years ago
Alex Esseling f247014ee6 AEB Bracket Value added 3 years ago
Alex Esseling 5800942a9b OpticalZoomCode added 3 years ago
Alex Esseling d72ca6806c ExposureCompensation added 3 years ago
Alex Esseling 50390717f7 fix wrong brackets 3 years ago
Alex Esseling c6b8be5498 wrong brackets fixed 3 years ago
Alex Esseling b70a3fb572 Canon AF Info 2 Tag 3 years ago
Alex Esseling 5cc52feb4b Adding Canon RawBurst Tag 3 years ago
Alex Esseling cf36feaa61 Adding Canon AF Config Tag 3 years ago
Alex Esseling 56a455422d Adding LensSerialNumber Tag 3 years ago
Alex Esseling e3311b9a4f canon filter options 3 years ago
Alex Esseling d6f1f7c614 Adding of Canon Vignetting Correction Tag 2 3 years ago
Alex Esseling 8b174900fa Adding Canon Lighting Optimization Tag 3 years ago
Alex Esseling 524b33e5df Canon MultiExposure tag added 3 years ago
Alex Esseling e2b1028973 Adding tag Canon AFMicroAdj 3 years ago
Alex Esseling 80d67b89c6 Adding Ambience Selection to tag list 3 years ago
Christoph Hasse 3ffe9938f8 Decoding of Canon HDRInfo tag 3 years ago
Alex Esseling b589ced049 update to tags 3 years ago
Alex Esseling 5f2dee4d40 update canonrf tags, new lenses 3 years ago
Alex Esseling 081f458bf1 update tags ID 3 years ago
Alex Esseling f41e7e59e3 second rund 3 years ago
Alex Esseling 23293064bb work on canon tags 3 years ago
Luis Díaz Más 23f089a1b6 Apply suggestions from code review
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
3 years ago
Luis Díaz Más f59a9abfe3 Remove unused PRINTUCS2 CMake option 3 years ago
Luis Díaz Más 432555eae8 Replace platform specific code with std::filesystem 3 years ago
Luis Díaz Más fdfb295cc4 windows: Trick to get UTF-8 encoded argv in main entry point
- Adapt exifprint to the new wmain strategy
- Delete have_unicode_path
- wmain does not work with MSYS & MinGW
- cmake: entry point via cmake instead of pragma
- cmake: better doc for MSVC flags
- Fix entry point in sample apps
- Adapt CMake code to work with MSVC & MinGW
3 years ago
Luis Díaz Más 7933ff401d Remove dead code around EXV_UNICODE_PATH 3 years ago
Kevin Backhouse 2a3dd2def9
Replace Value::toLong with Value::toInt64. (#2062)
* Replace Value::toLong with Value::toInt64.

* Fix compiler warning.

* Fix compile error.

* Fix declaration of canonEv

* Fix compiler warning.

* Fix compiler warning.

* Use int64_t for offsets in tiffcomposite_int.cpp

* Fix compiler warning.

* Fix compiler warnings.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Remove static_cast<long int> in TagDetails initializer.
3 years ago
Sturmflut f2385a35aa
[nikon] Add Tokina ATX-i 11-20mm F2.8 CF lens (#2072)
* [nikon] Add Tokina ATX-i 11-20mm F2.8 CF lens

* [nikon] Add test for Tokina ATX-i 11-20mm F2.8 CF lens

Co-authored-by: Sturmflut <Simon Raffeiner>
Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
3 years ago
Sturmflut 50f34f4561
[nikon] Add instructions for adding new Nikon F mount lenses
- Also cleans up a dead link
3 years ago
Sturmflut eeb1e1d5f7 [nikon] Add Tokina AT-X 14-20 F2 PRO DX lens 3 years ago
Luis Díaz Más 1f07715141 Revert "Delete dead code"
This reverts commit 1d6bac61f2.
3 years ago
Luis Díaz Más b96091880a
Merge pull request #2061 from Exiv2/main_pvs
Adding static analysis with PVS-Studio
3 years ago
Luis Díaz Más ac9439e931
Merge pull request #2063 from Exiv2/main_iterators
Modernise code around iterators & smart pointers
3 years ago
Peter 46c329081f
Fix `exiv2`: verbose extract stdout mutli-file (#2068)
When using `exiv2 --verbose --extract` with stdout and multiple files, the output is concatenated together.
3 years ago
Luis Díaz Más 524fad42e1 Remove useless ops 3 years ago
Luis Díaz Más 93fe2086e4 Simplify TaskFactory 3 years ago
Luis Díaz Más f18d04cb8f Modern implementation of Singleton
With this implementation we also make the initialization of the Singleton instance thread-safe
3 years ago
Luis Díaz Más d20f014807 Simplify cloning in actions 3 years ago
Luis Díaz Más b67dee8a57 Fix build on linux 3 years ago
Luis Díaz Más 0f03e77634 Simplify code around UniquePtr(s) & use make_unique over new 3 years ago
Luis Díaz Más db4b63937e Add some TODO comments 3 years ago
Luis Díaz Más 9d8dd86945 Use auto to reduce verbosity around code dealing with iterators 3 years ago
Sturmflut 3b1d31e0af Add Sigma 12-24mm F4 DG HSM Art lens for Nikon 3 years ago
Luis Díaz Más a42501864a Recover some documentation strings 3 years ago
Luis Díaz Más c531c4abf5 More tests for IptcDataSets 3 years ago
Luis Díaz Más 476a254dfc Remove dead code
No way to obtain nullptr DataSet* when we are checking already the 2
only existing DataSets above.
3 years ago
Luis Díaz Más 9b40f948eb More tests 3 years ago
Luis Díaz Más 15e8c75a38 Delete unused IptcKey copy operator 3 years ago
Luis Díaz Más d8fcbc4562 Add new tests for Iptc classes 3 years ago
Luis Díaz Más df0b7c450d Hide public details 3 years ago
Luis Díaz Más 8f9a780375 clang-format on datasets.cpp 3 years ago
Luis Díaz Más 1d6bac61f2 Delete dead code 3 years ago
Luis Díaz Más 071e73fa4d Add many tests for datasets 3 years ago
Luis Díaz Más a94d648d05 Rest of tests to have 100% coverage in BMP class 3 years ago
Luis Diaz edf39e00dd Add new BMP tests 3 years ago
Josh Soref e56abfa10a
Spelling (#2067)
* spelling: accelerometer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: address

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: anonymous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: baby

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: buffer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: build

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: builds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: by inclusion

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: byte order

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: camera

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: command

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: consistency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: constructor

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuously

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: correspond

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: decompression

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dedicated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: denominator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dependencies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: detector

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dlighting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dragging

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: duplicate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dynamic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: empty

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: enable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: endianness

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: examining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extension

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fact

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fails

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fixed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fluorescent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoint

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoints

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: from

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: happened

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: hierarchy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: initiate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: interesting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: internal

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: language

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libiconv

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libraries

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: library

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: localization

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: macros

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: member

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: members

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: metadata

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: miscellaneous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mnemonic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: modified

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multiple

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multithreaded

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mysterious

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: photoshop

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: platforms

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: preliminary

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: priority

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: properties

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: qualifier

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognition

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: reentrancy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remaining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remotetest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requested

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: sensitivity

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: standardize

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: successful

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: such

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tags

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: temperature

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: test

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: these

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: third

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: this

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: transparent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: underwater

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: uninterpreted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: using

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: utc - coordinated universal time

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: which

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: with

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
3 years ago
postscript-dev da320f35a7
Remove experimental code from pr#2053 3 years ago
postscript-dev 6c59437319
Add IPTC 2021.1 source comments for pr#2053 3 years ago
postscript-dev fe83240bb8
Update XMP IPTC tags to 2021.1 standard
Changes:
1. Add/update tags.
2. According to the standard, several tags in
   `Xmp.iptc.<property>` and `Xmp.iptcExt.<property>`, had been
   wrongly added, as they only exist as part of a struct used by a
   tag. The incorrect tags have been marked as deprecated in the
   label and description.
3. Update existing test with translated output.

Ref: [IPTC Photo Metadata Standard 2021.1](https://www.iptc.org/std/photometadata/specification/IPTC-PhotoMetadata-2021.1.html)
3 years ago
Luis Díaz Más b0318c36be
Upgrade C++ standard to c++17 (#2052)
* Enable C++17 and use new inline specifier for const variable members

* Silence deprecation warning on MSVC

* Disable samples by default

* improvements after review
3 years ago
Peter 629442df9d
Merge pull request #1929 from postscript-dev/fix_exiv2_-pR
Fix `exiv2 -pR` for Sony images (#1805)
4 years ago
Luis Díaz Más 825c0c72bc Check array index before inspecting it 4 years ago
Luis Díaz Más 240a72468e Clang-format in pngchunk_int.cpp 4 years ago
Luis Díaz Más ec21f65dca Replace magicValue with constant variable 4 years ago
Luis Díaz Más ceae86899d Initialize uninitialized variables 4 years ago
Luis Díaz Más b96f5af037 Remove dead code 4 years ago
Luis Díaz Más 061df50cea keyTXTChunk improvement 4 years ago
Luis Diaz c19425f6a4 Add unit tests for PngChunk::keyTXTChunk 4 years ago
Luis Diaz c898f56ab2 cmake: Add missing source file 4 years ago
Luis Díaz Más 813566526c
Revisiting cmake code for generating coverage reports (#2047)
* cmake: better usage of gcovr for coverage reports

* Add test for FileIo::setPath

* Remove useless seek() overload

* Add missing override specifiers

* ignore .vs folder

* Small refactors in BasicIo implementations

* Remove duplicated doxygen doc

* Refactor & add tests for MemIO

* Fix compilation warnings on windows
4 years ago
Kevin Backhouse a094dde1de
Merge pull request #2040 from kevinbackhouse/TiffEntryBaseStorage
Use std::shared_ptr for storage in TiffEntryBase
4 years ago
Facundo b52b6db39f
Output of -PV was not suitable for inputting to -m-, key was missing. (#1970)
* Output of -PV was not suitable for inputting to -m-, key was missing.

Fix #1969

* Make V flag to -P also print the type

This makes -PV work also for non-built-in tags (of which their type is
not known by exiv2).

* Adjust man to accomodate for the V flag change
4 years ago
Kevin Backhouse 9268279b47
Add comments. 4 years ago
Kevin Backhouse b6a4fd1c67
Add storage parameter to setData. 4 years ago
Kevin Backhouse 29f7d0ccf0
Remove DataBuf::release() which is no longer used. 4 years ago
Kevin Backhouse 9f3240c91c
Delete TiffEntryBase::isMalloced_ field and use a std::shared_ptr instead. 4 years ago
Kevin Backhouse 29cc981180
Merge pull request #2028 from kevinbackhouse/FixIssue2027
Use memmove in TiffEncoder::updateDirEntry
4 years ago
Robin Mills 13a2cf336d
fix_1416_iptc_DateCreated (#1547)
* fix_1416_iptc_DateCreated

* Fix unit tests

* DateValue:read 2nd iteration on pre-condition

* test with ISO_8601 date format

* Use std::regex for ISO 8601 basic & extended date formats

* Use std::regex for ISO 8601 basic & extended time formats

* Add more tests & notes for DateValue & TimeValue

* Comment tests using local calendar times

* DateValue::write also adds padding to year field

Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
4 years ago
Kevin Backhouse e34eacc467
Use memmove, rather than memcpy, because memory regions might overlap. 4 years ago
Miloš Komarčević fd8447129c
Add more DNG 1.6 tags (#2023)
* Add more DNG 1.6 tags

* Update CinemaDNG, add more spec links
4 years ago
Kevin Backhouse 65fad9db0e
Merge pull request #2007 from kevinbackhouse/FixIssue2006
Fix integer overflow in PanasonicMakerNote::printAccelerometer
4 years ago
Kevin Backhouse aebb3fb2c0
Merge pull request #2015 from kevinbackhouse/SonyPreviewUndefined
Treat Exif.Sony1.PreviewImage as undefined tag
4 years ago
Kevin Backhouse 0a1fa497d5
Merge pull request #1999 from jim-easterbrook/bug_1998
Restore modified tags after TZ manipulation
4 years ago
Kevin Backhouse a1ad29edf3
Treat Exif.Sony1.PreviewImage as undefined tag. 4 years ago
Kevin Backhouse 35f48ae5c9
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41438
Replace weird sign-conversion code with a simple static_cast.
4 years ago
Kevin Backhouse 6758e7288d
Merge branch 'main' into fix_exiv2_-pR 4 years ago
Peter 797f86c226
Fix minor whitespace formatting
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
4 years ago
postscript-dev 9c294ef4fd
Fix exiv2: verbose extract to stdout (see #1934)
Fix ignores `--verbose` when extracting to stdout.
4 years ago
Jim Easterbrook 02ce7e9aff Restore modified tags after TZ manipulation
This ensures that Xmp date/times that have been set by the user aren't
over written by the TZ restoration efforts. This fixes bug #1998
4 years ago
Kevin Backhouse fde8ed07b3
Merge pull request #1967 from kevinbackhouse/ReadOrThrow
Add readOrThrow and seekOrThrow to BasicIo
4 years ago
Peter 1ae9f42cd8
Add camera models for NikonFl3 makernotes group (#1994)
* Add camera models for NikonFl3

* Python test for new NikonFl3 camera models
4 years ago
postscript-dev 562b10f2c7
Fix Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev bd676bedc6
Fix `exiv2 -pR` for Sony images (#1805)
`exiv2 -pR` failed to process Sony makernotes. Fix checks if
makernotes header has Sony string, then uses correct offset.

Fix supplied by @clanmills
4 years ago
postscript-dev 277b1875f7
Fix Exif.NikonFl7.FlashGroupBCControlData output 4 years ago
postscript-dev b3ca98c1e7
Fix Exif.NikonFl7.FlashCompensation pretty print 4 years ago
postscript-dev 8ebf10f921
Fix condition in Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev f23d965643
Add limits check: Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev f0f3c7e8a2
Fix compile issues for NikonFl7 makernotes group
+ Fix fuzzing CI errors of `exp2` and `round` not being in `std` by adding
  `#include <cmath>`
+ Fix Windows CI warning C4305 by explicitly defining value as a float
4 years ago
postscript-dev eb134d1946
Add testing for NikonFl7 makernotes group 4 years ago
Kevin Backhouse ab90d430c7
Merge pull request #1979 from postscript-dev/fix_exiv2_sample_thumb_stdout
Add exiv2 extract thumb to stdout (#1934)
4 years ago
Kevin Backhouse 68473d9d10
Remove static functions readOrThrow and seekOrThrow. 4 years ago
Kevin Backhouse 44542a9f94
Add readOrThrow and seekOrThrow to BasicIo. 4 years ago
Miloš Komarčević 8b7d8729b7 Expose unsupported CR3 previews as binary 4 years ago
postscript-dev 31a2467a61
Add exiv2 extract thumb to stdout (#1934): src 4 years ago
Miloš Komarčević 40e5021577 Limit CR3 previews to JPEG only 4 years ago
Kevin Backhouse 0ae85cc4ca
Merge pull request #1974 from dhoulder/skip-isobmff-boxes
Performance boost: don't read boxes we're not interested in
4 years ago
mergify[bot] 2d80891837
Only include expat.h when XMP is enabled. (#1973)
(cherry picked from commit 03cc59122249e79c5a72982b25dad88f4c2803d6)

Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
4 years ago
David Houlder 4e587fa931 Performance boost: don't read boxes we're not interested in 4 years ago
David Houlder b385f2db1c
Canon cr3 previews (#1958)
* Extract THMB and PRVW images from Canon CR3 file

* Added test for Canon CR3 preview extraction.

Added test data Canon-R6-pruned.CR3 (first 492016 bytes of https://raw.pixls.us/getfile.php/4659/nice/Canon%20-%20Canon%20EOS%20R6%20-%203:2.CR3).

See https://github.com/Exiv2/exiv2/issues/1893

* Fixed format specifier

* Update src/bmffimage.cpp

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>

* Update src/bmffimage.cpp

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>

* retrigger checks

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Kevin Backhouse 71744d5f7f
Merge pull request #1944 from Exiv2/nikon_colorbalance
Extending Nikon3.ColorBalance version coverage
4 years ago
Kevin Backhouse 81cfc162c1
Use std::move to transfer ownership of DataBufs. 4 years ago
Kevin Backhouse 4901c5dba6
Merge pull request #1930 from kevinbackhouse/CiffComponent-pData-ownership
Clarify ownership model of CiffComponent::pData_
4 years ago
Kevin Backhouse 3b0d827047
More =default changes. 4 years ago
Kevin Backhouse 5fdd9da3d3
Use =default. 4 years ago
Miloš Komarčević 2074f82344 Fold into common 02xx versions 4 years ago
Miloš Komarčević 4205e03c43 Extending Nikon3.ColorBalance version coverage 4 years ago
Kevin Backhouse be5a01f0b2
Merge pull request #1921 from kevinbackhouse/FixIssue1920
Fix UBSAN failure caused by left-shift of negative number
4 years ago
Kevin Backhouse 83b9944cdd
We only need to extract one byte. 4 years ago
Kevin Backhouse 887acd098a
Merge pull request #1926 from postscript-dev/fix_sony_temperature_tags
Add conditions to 2 Sony temperature tags
4 years ago
John55h 02d40734a1
Update canonmn_int.cpp
Correct Exif.CanonCs.LensType 38 for "Canon EF 80-200mm f/4.5-5.6 II"
4 years ago
Kevin Backhouse 482cb2ded5
Clarify ownership model of CiffComponent::pData_ 4 years ago
Kevin Backhouse b27aa0b82c
Merge pull request #1922 from postscript-dev/fix_sony_tags
Add SonyMisc(2b|3c) Groups for Sony TIFF files
4 years ago
postscript-dev 54ee165261
Add conditions to 2 Sony temperature tags
Only certain camera models are supported.

Source: https://github.com/exiftool/exiftool/blob/master/lib/Image/ExifTool/Sony.pm
4 years ago
Dmitry Fedorov 45fe046a9c
Update src/tiffimage_int.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Dmitry Fedorov 193eea1913
Update src/tiffimage_int.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
postscript-dev 7ace96263e
Add SonyMisc(2b|3c) Groups in TIFF files
- Previous version only supported JPEGs.
- Update Python test to use more specific grep, as this prevents
  SonyMisc(2b|3c) from being included. Regression test to be added
  in a different commit.
4 years ago
Kevin Backhouse a71bb64fe9
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39060
Fix UBSAN failure caused by left shift of a negative number.
4 years ago
Dmitry Fedorov 1491b106d9 fix for reading jpeg-xr images 4 years ago
Heiko Bauke 8a1e949bff fix out of range access, minor performance improvement 4 years ago
Kevin Backhouse 7d2eb4ad09
Merge pull request #1905 from postscript-dev/update_website_docs
Update website docs
4 years ago
Kevin Backhouse be296814c1
Merge pull request #1913 from kevinbackhouse/FixIssue1912
Fix integer overflow in print0x0007
4 years ago
Kevin Backhouse cd4316c4f5
Do the calculation in floating point to avoid integer overflow. 4 years ago
Evan Miller 04f4624718
Explicitly test for libproc.h (#1916)
This change adds support for ancient macOS lacking libproc. It also
eliminates a bug where exiv2 could not be built on case-sensitive
file systems (the header file is properly TargetConditionals.h).
4 years ago
Kevin Backhouse 801e20123a
Merge pull request #1902 from kevinbackhouse/FixIssue1901
Comment out bogus code in XMPUtils.cpp
4 years ago
Kevin Backhouse d92b0a6717
Merge pull request #1910 from kevinbackhouse/PentaxQuadraticPrint
Fix quadratic loops in pentaxmn_int.cpp
4 years ago
Kevin Backhouse 7cb65d1e25
Merge pull request #1872 from postscript-dev/update_exiv2_manpage
Update exiv2 program and manpage
4 years ago
Kevin Backhouse 9f1e3e3e72
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38887
Fix quadratic loops.
4 years ago
Colin Watson f643d9bb5e Annotate some strings with xgettext:no-c-format
Some descriptions of location properties contain the text "100%
overlap".  When extracting text for translation, `xgettext`
misidentifies this as containing the C format string "% o", and tags it
as `c-format`.  Translation tools that are sensitive to this will
require that translations contain matching format strings; since in this
case the format string is nonsensical, that is often not reasonably
possible.  See:

  https://answers.launchpad.net/launchpad/+question/698762

The description of the DotRange tag contains the text "0% dot and 100%
dot", which is similarly misidentified.

To fix this, inform `xgettext` that the messages do not contain C format
strings, as documented here (towards the end):

  https://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html
4 years ago
Peter 098283c1f8
Merge branch 'Exiv2:main' into update_website_docs 4 years ago
postscript-dev c4e73831f2
Add missing MpfInfo group to `taglist.exe Exif` 4 years ago
Kevin Backhouse e1e7dddfbd
Fix test failure. 4 years ago
postscript-dev 795cfe90ce
Update exiv2 program, --help and usage 4 years ago
Kevin Backhouse bb9ff53ebe
Throw an exception on integer overflow. 4 years ago
Kevin Backhouse e71b99b236
Merge pull request #1886 from kevinbackhouse/private-pData
Make fields of DataBuf private
4 years ago
Kevin Backhouse bd211a90ac
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37889
Avoid reading 1 byte off the end when the string does not contain a '\0' byte.
4 years ago
Kevin Backhouse 9ff72e5ca5
Make offset=0 the default parameter. 4 years ago
Kevin Backhouse 61a14c45d1
Fix build failure. 4 years ago
Kevin Backhouse e41f0c2cce
Fix build failure on Windows. 4 years ago
Kevin Backhouse c9d0cf3643
Make fields of DataBuf private. 4 years ago
Kevin Backhouse cb16324bcf
Merge pull request #1882 from kevinbackhouse/FixIssue1881
Throw an error if the size of the preview is greater than 1MB
4 years ago
Kevin Backhouse ccfdcf84ea
Merge pull request #1824 from 1div0/JPEG XL
Corrected JPEG XL file type
4 years ago
Kevin Backhouse 67746dee73
Merge pull request #1874 from neheb/emp
remove most usages of std::make_pair
4 years ago
Kevin Backhouse ce02361a64
Only build XMLValidator when XMP is enabled. 4 years ago
Kevin Backhouse 60144df557
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37492
Throw an error if the size of the preview is greater than 1MB.
4 years ago
Kevin Backhouse b35cc5ffa6
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37363
Do some basic XML validation before running the xmpsdk library to avoid bugs in xmpsdk.
4 years ago
Rosen Penev e7eddfc2f5 use more emplace_back
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev f3fcffd6e6 remove most usages of std::make_pair
Better alternatives exist with C++11.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
postscript-dev fbdb38b959
Add missing `--extract` option to exiv2 program
The long option version of `-e` was missing.
4 years ago
Kevin Backhouse 64fe77673f
Decouple EXIV2_BUILD_FUZZ_TESTS from EXIV2_TEAM_USE_SANITIZERS. 4 years ago
Kevin Backhouse a1b65a7928
Merge pull request #1849 from Exiv2/mergify/bp/main/pr-1848
Replace assertion with an error message (backport #1848)
4 years ago
Kevin Backhouse 0dc5cdd910
Merge pull request #1852 from Exiv2/mergify/bp/main/pr-1846
Replace assertion with error message in TiffDirectory::writeDirEntry() (backport #1846)
4 years ago
Kevin Backhouse 330483a859
Merge pull request #1843 from Exiv2/mergify/bp/main/pr-1840
Check that the float is within the range of an int before casting (backport #1840)
4 years ago
Kevin Backhouse 9fd8b40a4e Replace assertion with an error message.
(cherry picked from commit cb32b809c80163c2392543dfb830dffe44e47f91)
4 years ago
mergify[bot] 66259b1c71
Check if embedded RAF image is really a TIFF (backport #1796) (#1851)
* Check if embedded RAF image is really a TIFF

(cherry picked from commit be12ae6f9e2f053bf101902865deadfe7c937f8d)

* Clarify comment on old vs new RAF

Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
(cherry picked from commit 30f39ac98c1671547aa0b4021081e374864f1f04)

* Check I/O read result on RAF inspection

Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
(cherry picked from commit 09de8dc901a38555151bd87d89ada3bd931451ea)

* Add test

(cherry picked from commit 9c3db7f3c3cb48fe0669061e627174402f366816)

Co-authored-by: Miloš Komarčević <miloskomarcevic@aim.com>
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Kevin Backhouse 9e160a453b
Replace assertion with an error message. 4 years ago
Peter Kovář 1d095cf751 Removed tag handled separately 4 years ago
Kevin Backhouse 5bc444ff00
Use DataBuf rather than raw malloc. 4 years ago
Kevin Backhouse 7c2ab1d7de
Check that the float is within the range of an int before casting. 4 years ago
Christoph Hasse 0fab606e90 fix: incorrectly triggered enforce check during preview extraction in LoaderTiff::getData(), closes #1829 4 years ago
Kevin Backhouse e34e150f22 Replace assertion with an error message.
(cherry picked from commit 4ec1768415ba015041a9bb28ab17c1ccf6a8c63e)
4 years ago
Kevin Backhouse ed1db4ace2
Use std::round for rounding to nearest. 4 years ago
Kevin Backhouse 8d5e70379e Update src/tags_int.cpp
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
(cherry picked from commit ad2e7221b498258bd04188b66f6da5cefd101e73)
4 years ago
Kevin Backhouse 52d70c8924 Check value is in range before casting from double to uint32_t, to avoid undefined behavior.
(cherry picked from commit 1455cc88466a14d8ea49935005e9de097984f012)
4 years ago
Kevin Backhouse 0e7d80fc84
Merge pull request #1826 from Exiv2/mergify/bp/main/pr-1820
Check that the string isn't empty (backport #1820)
4 years ago
Kevin Backhouse db25089c6f
Merge pull request #1823 from Exiv2/mergify/bp/main/pr-1818
Fix memory leak in pngimage.cpp (backport #1818)
4 years ago
Kevin Backhouse 34aa899513
Merge pull request #1825 from Exiv2/mergify/bp/main/pr-1814
jp2image.cpp: check size before allocation to avoid out-of-memory errors (backport #1814)
4 years ago
Kevin Backhouse 644aaaac92
Check that the string isn't empty 4 years ago
Kevin Backhouse ffde235336
Add comment to explain the bounds-check. 4 years ago
Kevin Backhouse 67e2ef5ccd
Check size before allocation to avoid out-of-memory errors. 4 years ago
Peter Kovář 8f889c132e Corrected JPEG XL file type 4 years ago
Kevin Backhouse c641116b25
Add static_cast to fix build error on Windows. 4 years ago
Kevin Backhouse b8ed3867c0
Use DataBuf, rather than new[], for automatic delete when an exception is throw. 4 years ago
Kevin Backhouse dd4659ce2d Add bounds-check to prevent out-of-bounds read in memcmp.
(cherry picked from commit a6253799d4e3727e32e6412798dceca4200efdda)
4 years ago
postscript-dev 0144209ed0 Add SonySInfo1 makernote tags (tag 3000)
Add all tags, except the face detection sub-groups and related
bookkeeping values.

Source: Exiftool (https://exiftool.org/TagNames/Sony.html)
4 years ago
Kevin Backhouse 2488fc82e9
Merge pull request #1804 from kevinbackhouse/FuzzMore
Add fuzzing dictionary and test all printStructure() options
4 years ago
Christoph Hasse e086c7cbd2 add Canon EF 100-400 2x, and make size of aperture lens matching delta dependent on teleconverter factor 4 years ago
Christoph Hasse 7d2f2d2526 make the ifdef in getExiv2ConfigPath a bit more minimal 4 years ago
Christoph Hasse 95c2c26747 Fixes for Max and Win 4 years ago
Christoph Hasse 6d5407e851 first search cwd for config file then check home dir 4 years ago
Christoph Hasse 6fd6c8b3dd fix: SIGSEGV on parsing of config file. (introduced in main by clang-tidy fix) 4 years ago
Kevin Backhouse 22b876d278
Merge pull request #1800 from postscript-dev/add_SonyMisc3c_tags
Add SonyMisc3c makernote tags (tag 9400)
4 years ago
Kevin Backhouse 593fcbd865
Add fuzzing dictionary and test all printStructure() options 4 years ago
Kevin Backhouse 35a2b25d64
Fix build error when EXIV2_DEBUG_MESSAGES is enabled. 4 years ago
Kevin Backhouse 2532f6db40
Add `markerHasLength` utility function. 4 years ago
Kevin Backhouse 96b85751ee
Add comment to explain bounds-check. 4 years ago
Kevin Backhouse 10bd09871f
Update src/jpgimage.cpp
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
4 years ago
Kevin Backhouse fed192dc97
Fix compiler warning. 4 years ago
Kevin Backhouse 483a1497a0
Improved handling of jpg segments to avoid out-of-bound reads. 4 years ago
Kevin Backhouse deb41bd117
bufRead needs to be adjusted after seek() 4 years ago
postscript-dev cc9d780534
Add SonyMisc3c makernote tags (tag 9400)
Changes:
+ Add tags. Rename Exiftool `SequenceLength` tags to `SequenceLength1`
  and `SequenceLength2`, to prevent a name clash.
+ Update docs and manpage.

Source: [Exiftool](https://exiftool.org)
4 years ago
Kevin Backhouse 01b109e8ff
Merge pull request #1798 from Exiv2/mergify/bp/main/pr-1789
&bytes[0] (std::vector) will crash if bytes has zero elements (backport #1789)
4 years ago
Kevin Backhouse c3239e3187 &bytes[0] will crash if bytes has zero elements.
(cherry picked from commit 3e72d129e53b14e0b62d74aefed6bbd326562d63)
4 years ago
Kevin Backhouse 9004fb5a97 Remove redundant check.
(cherry picked from commit 19026fab2bc2b6dee2150f38153feb65a41cea17)
4 years ago
Kevin Backhouse 07225c05ee Make sure that read is complete to prevent infinite loop.
(cherry picked from commit ffe5eb517dad93845e62144d8e53f52b17420ecd)
4 years ago
Christoph Hasse 7251a96da6 remove exv_grep_keys_t type alias 4 years ago
Christoph Hasse d6c82b88bc refactor: avoid unused variable warning of regex_error 4 years ago
Christoph Hasse 687b38a130 refactor: use POSIX regex syntax as that is what was used before 4 years ago
Christoph Hasse d82980b563 refactor: replace old linux regex.h with regex from STL. 4 years ago
Kevin Backhouse 944e68fa15
Merge pull request #1787 from Exiv2/mergify/bp/main/pr-1766
Extra checking to prevent loop counter from wrapping around (backport #1766)
4 years ago
Kevin Backhouse 686702616c
Merge pull request #1794 from kevinbackhouse/bmff-check-box-nesting
Enforce BMFF box nesting
4 years ago