Luis Díaz Más
b96f5af037
Remove dead code
3 years ago
Luis Díaz Más
061df50cea
keyTXTChunk improvement
3 years ago
Luis Diaz
c19425f6a4
Add unit tests for PngChunk::keyTXTChunk
3 years ago
Luis Diaz
c898f56ab2
cmake: Add missing source file
3 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
3 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
Kevin Backhouse
3575a8258e
Merge pull request #1786 from Exiv2/mergify/bp/main/pr-1769
...
Safer std::vector indexing (backport #1769 )
4 years ago
Christoph Hasse
9aabdcf698
fix: add Sigma 30mm f/1.4 DC DN | C to canon lens detection
4 years ago
Kevin Backhouse
5eb464271e
Fix format specifier.
4 years ago
Kevin Backhouse
43d95b8a75
Fix compiler warnings.
4 years ago
Kevin Backhouse
3019fbee4f
Extra protection against large allocations.
4 years ago
Kevin Backhouse
78e9c8aa82
address + box_length == box_end
4 years ago
Kevin Backhouse
02d4ef2c5e
Support for 64-bit box lengths looked broken.
4 years ago
Kevin Backhouse
8c64e9abba
Add `pbox_end` param to `BmffImage::boxHandler` to enforce box nesting.
4 years ago
postscript-dev
293fd586ab
Add SonyMisc2b makernote tags (tag 9404)
...
Changes:
+ Add tags, pretty printing and tag group selector function
+ Update docs
Source: https://exiftool.org/TagNames/Sony.html
4 years ago
postscript-dev
b82084995c
Add `getExifValue()` to `makernote_int.cpp`
...
Function generalizes `getExifModel()`, allowing any value in a tag to
be accessed.
4 years ago
Kevin Backhouse
eb2782e685
Fix warning: comparison of integer expressions of different signedness
4 years ago
Kevin Backhouse
67a46f742d
Type of escapeStart should be size_t.
4 years ago
Kevin Backhouse
670dfb2fab
Better fix for potential integer overflow in `bytes.size() - 3`.
4 years ago
Kevin Backhouse
69d82ffe01
Defensive coding changes to avoid integer overflow in loop conditions.
4 years ago
Kevin Backhouse
ad5e6c479c
Extra checking to prevent the loop counter from wrapping around.
4 years ago
Kevin Backhouse
dc2c77ce81
Safer std::vector indexing.
4 years ago
Kevin Backhouse
82057a6a1d
Merge pull request #1777 from postscript-dev/update_sony2fp_tags
...
Update Sony2Fp tags
4 years ago
Kevin Backhouse
d5ada325af
Check that `type` isn't an empty string.
4 years ago
postscript-dev
510a38e27d
Move all `startsWith()` funcs to `Util` namespace
...
The function checks if a string is in the beginning of another. This
is intended for use until the move to C++20 when
`std::basic_string<>::starts_with()` becomes available. Suggested in
https://github.com/Exiv2/exiv2/pull/1777 .
Separate identical definitions have been moved into a single copy.
4 years ago
postscript-dev
0827a76b6a
Update Sony2Fp makernote functions
...
Minor changes using suggestions in #1777 :
+ Simplify loop conditions
+ Add startsWith() in SonyMakerNote class
+ Change `if`/`else` to `switch`
4 years ago
Kevin Backhouse
e4e3362284
Defensive programming in Image::printIFDStructure
4 years ago
Kevin Backhouse
caf08b229e
dirLength == 0 can cause an infinite loop.
4 years ago
Kevin Backhouse
0208b508a0
Merge pull request #1773 from kevinbackhouse/fuzz
...
Add fuzz target
4 years ago
Kevin Backhouse
fa52d7e2cb
Better way to print the error message.
4 years ago
Kevin Backhouse
6685b8db4a
Print message to stderr when EXIV2_DEBUG_MESSAGES is enabled.
4 years ago
Kevin Backhouse
f724f4e2fc
Don't crash if s > size.
4 years ago
postscript-dev
e821404d69
Merge branch 'update_sony2fp_tags' of https://github.com/postscript-dev/exiv2 into update_sony2fp_tags
4 years ago
postscript-dev
4a21b45e60
Update Sony2Fp makernote tag selector function
...
In C++20, std::string has a starts_with() function. Add a startsWith()
function now, which can be replaced when the project moves to C++20.
Suggested in https://github.com/Exiv2/exiv2/pull/1777
4 years ago
Peter
670c89b2bd
Merge branch 'Exiv2:main' into update_sony2fp_tags
4 years ago
postscript-dev
4ac8ac9ba0
Update Sony2Fp makernote tags (tag 9402)
...
Changes:
+ Add pretty printing for all tags
+ Add camera selector, to prevent incompatible models using tags
+ Update testing with new values
Source: Exiftool (https://exiftool.org/TagNames/Sony.html )
4 years ago
Kevin Backhouse
6798be637f
Merge pull request #1774 from Exiv2/mergify/bp/main/pr-1745
...
fix: avoid processing MOV (quicktime) files when BMFF is enabled (backport #1745 )
4 years ago
Kevin Backhouse
7b3dd26c23
Merge pull request #1718 from opengisch/ios
...
Fix building for ios
4 years ago
postscript-dev
eb22591cea
Fix formatting of sonyMisc1 makernote tags
4 years ago
Christoph Hasse
3e681c6730
fix: avoid processing MOV (quicktime) files when BMFF is enabled
...
(cherry picked from commit 1b6895927f293855e5bb437ad28f31da2c2cfe54)
4 years ago
Kevin Backhouse
bf786f4cc6
Updates to make fuzzing work.
4 years ago
postscript-dev
2b8856dcea
Add SonyMisc1 (Tag 0x9403) makernote tags
...
Source: Exiftool (https://exiftool.org/TagNames/Sony.html )
4 years ago
Kevin Backhouse
033175e127
Don't deref end iterator.
4 years ago
Andrea Giudiceandrea
43fe7bbb98
Add Exif.Image.PageName tag ( #1765 )
...
* Add Exif.Image.PageName tag
* Add trailing punctuation mark to PageName and DocumentName tags description.
* Add XPosition and YPosition TIFF tags
4 years ago
Kevin Backhouse
ff00771425
Better bounds checking in Jp2Image::printStructure
...
(cherry picked from commit 0fcdde80997913dde284ea98f06f9305d06cb160)
4 years ago
Kevin Backhouse
c2b52119d4
Check that findKey didn't return end().
4 years ago
Kevin Backhouse
98fb218475
Throw exception if lens info wasn't found.
4 years ago
Kevin Backhouse
d30c95d07e
fix incorrect loop condition ( #1752 )
4 years ago
Kevin Backhouse
5ab3f2b0c5
Defensive coding to avoid 0x80000000/0xFFFFFFFF FPE.
4 years ago
Kevin Backhouse
11a26fb0d4
Prevent divide-by-zero crash.
4 years ago
Kevin Backhouse
8c4d67ca50
Defensive coding to avoid 0x80000000/0xFFFFFFFF FPE.
4 years ago
norbertwg
d5b7f99fbf
Three tag descriptions corrected
4 years ago
Rosen Penev
37fea97dd3
clang-tidy: use override
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
b84d8e9a44
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
9210fb85f9
clang-tidy: pass by value
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse
b16cd52b88
Replace sprintf with snprintf.
4 years ago
Rosen Penev
2fbf2e6b7c
clang-tidy: remove dedundant initializer
...
Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse
a4c5bdac19
fix: stricter date parsing in value.cpp ( #1720 )
...
* Regression test for issue 1713
* Stricter date parsing.
* Fix test failure caused by stdout mismatch.
(cherry picked from commit ab58026cff0e5edebc026261e9dc4b7db05b802d)
4 years ago
mergify[bot]
1d64f482ff
fix: use vector::at() rather than operator[] (backport #1735 ) ( #1741 )
...
* fix: use vector::at() rather than operator[] (#1735 )
* Regression test for https://github.com/Exiv2/exiv2/issues/1706
* Use vector::at() rather than operator[].
* Print to stderr when exception is caught and EXIV2_DEBUG_MESSAGES is enabled.
* Check that it prints "Bad value" for the date.
(cherry picked from commit f4d3adbf91e6dc4e34aee5bac7b7fd9e127a5c00)
# Conflicts:
# src/value.cpp
* fix merge conflicts from mergify backport
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
4 years ago
Kevin Backhouse
2b84f4bd64
fix: zero initialize local variables. ( #1743 )
...
* Zero initialize local variables.
* Initialize xmpID_
4 years ago
Kevin Backhouse
3e099da7b7
Remove obsolete snprintf macros.
4 years ago
Christoph Hasse
2539e5dd7e
fix: change duplicated Canon RF 100-500 2x into missing 1.4 teleconverter version
4 years ago
Christoph Hasse
704ee571de
fix: allow for FX.Y syntax in aperture regex
4 years ago
Daniel Vogelbacher
fa78ab3593
Use official Canon RF lens model names
...
The new RF line is named F2.8L instead of f/2.8L (for example).
This patch makes the model names identically to the official
Canon lens names and the same names exiftool uses.
4 years ago
Christoph Hasse
2f83b7e0f6
Merge pull request #1692 from Exiv2/hassec_canon_lens_test
...
New Canon Lens Identification + Automatic Test of all Lenses
4 years ago
andyrtr
cfeceee416
add lens: Olympus M.ZUIKO DIGITAL ED 12-45mm F4.0 PRO ( #1725 )
...
* add lens ID for Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro #1723
* add test for #1723 checking the Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro recognized correctly
4 years ago
Matthias Kuhn
5aafb351e5
Fix building on ios
4 years ago
nulllinie
23dbf4f51a
correct identification for Tamron SP 24-70mm G2 A032 ( #1691 )
...
* correct identification for Tamron SP 24-70mm G2 A032 with LensType 0E (14)
Existing entry with LensType 4E is kept as it's needed as well
Added testcase for LensType 0E for Tamron_SP_24-70mm_F2.8_Di_VC_USD_G2
4 years ago
Christoph Hasse
efb0af8506
fix: make casts explicit to please msvc
4 years ago
Christoph Hasse
7867343611
fix: prefer symbolic boolean operators so windows is happy
4 years ago
Christoph Hasse
bdd8a386b5
feat: improve lens recognition of canon makernote
...
If multiple choices are possible they are now all reported. This
behaviour is now the same as it is in exiftool.
All lenses are tested in the new test_canon_lenses.py test
4 years ago
Christoph Hasse
907fe2369e
fix: readd some previously removed lenses now that we plan to trea ambiguous lenses
4 years ago
Christoph Hasse
4ee8962d42
refactor!: use lensfun style nameing for lenses
4 years ago
Alexander Steffen
56f9979a4b
Improve detection of Canon lenses with TC
...
Lenses with and without a TC may share the same lens ID. Prefer entries
that explicitly mention the TC.
4 years ago
Alexander Steffen
9962b88db3
Fix misdetection of Tamron SP AF 300mm as Canon EF 75-300mm
...
When searching for the Tamron lens, only the string "300mm" is searched in
the lens description, which also happens to be present for the Canon lens.
Since the Canon lens comes first in the list, it wins. Fix this issue by
prefixing the search string with a single space so it always has to match
the full focal length specification.
4 years ago
Alexander Steffen
477150f067
Fix rounding error in fnumber calculation
...
The mathematical calculation of fnumbers does not always match the expected
values: For example for f/3.5 the precise mathematical value is 3.564...,
which gets rounded to 3.6. Fix this special case by returning a value
closer to the expected value.
4 years ago
Alexander Steffen
0d030eefdf
Remove undetectable lenses
...
Lenses that have the exact same ID, focal length and aperture as some other
lens that comes earlier in the list (and thus always wins):
* 137, "Tamron SP 17-50mm f/2.8 XR Di II VC"
* 137, "Tamron SP 24-70mm f/2.8 Di VC USD"
* 161, "Sigma 28-70mm f/2.8 EX"
* 173, "Sigma 180mm EX HSM Macro f/3.5"
* 180, "Zeiss Milvus 50mm f/1.4"
* 183, "Sigma 150-600mm f/5-6.3 DG OS HSM | S"
* 254, "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 F004"
* 254, "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 F017"
Lenses that share their IDs with other lenses, but have no or an
unsupported focal length:
* 33, "Voigtlander or Carl Zeiss Lens"
* 131, "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye"
4 years ago
Luis Díaz Más
f30022d73d
Fix issues detected with PVS-Studio + other little improvements ( #1689 )
...
* avoid re-declaration of constant variables
* Replace pthreads critical section with std::mutex
* ci - better naming
* cmake - increase minimum version to 3.11. Use project DESCRIPTION
* fix - do not treat string::find() return type as bool
* remove conditions that were always true
* remove condition that were always false
* Remove EXV_HAVE_GMTIME_R which is not used anymore
* pixelWidth_ was inherited from Exiv2::Image
The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...
* Remove superfluous if
* pvs:V766 item with identical key added already
* pvs:V730 not all members were initialized (time)
* pvs:V730 not all members are initialized
* pvs:v668 no point in testing pointer against null after new
* pvs:V1048 variable assigned the same value
* replace c-style dynamic vector with std one
* pvs:547 fakeData is always true
* Remove useless constructor in derived class
* pvs:V690 modern way to disable copy-ctor
* Replace malloc/free with new/delete. No need to check for null
* pvs:V1028 cast operands and not result
* Remove custom MIN/MAX functions
* pvs:V595 pointer used before verified against null
* pvs: index used before being checked
* pvs:V1028 possible overflow. Cast operands
* pvs:v575 potential null pointer passed to other functions
* pvs:V547 deal with always true/false expressions
* pvs:V560 part of conditional expressions always false or true
* pvs:V701 possible break in realloc -> move to std::vector
* Make some classes 'final'
* Replace sprintf with std::to_string()
* fix compilation on windows
4 years ago
Christoph Hasse
758dd6bbc6
refactor!: remove free() function from DataBuf to avoid potential problems, see #1542
4 years ago
Rosen Penev
2c57f214c5
clang-tidy: use nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
86c71ae6c3
clang-tidy: avoid global non const variables
...
Found with cppcoreguidelines-avoid-non-const-global-variables
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
d1e116a8ef
remove some pointless std::set
...
Partially found by gcc's -fanalyzer
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
4c4f8da338
remove initializers
...
these were moved outside the constructor body.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
e5894d71e1
default con/destructors in headers
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
ce47de67b5
use auto in template
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
c44c289d76
clang-tidy: fix ending namespace comnments
...
Found with llvm-namespace-comment
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
a74bceacb0
clang-tidy: remove pointless return
...
Found with readability-redundant-control-flow
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
743da1a564
clang-tidy: use C++ casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
8dbc699858
clang-tidy: add missing explicit
...
Found with google-explicit-constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
ff39473c18
clang-tidy: convert to static
...
Found with readability-convert-member-functions-to-static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
6da49fd29b
more constexpr
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
cdbee3c26c
clang-tidy: init in member initializer
...
Found with cppcoreguidelines-prefer-member-initializer
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
036af68a71
remove pointless constructors
...
Replaced with Uniform initialization. Allows constexpr usage.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
8564d0b394
clang-tidy: pass by value
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
f9d394adf0
clang-tidy: run through performance checks
...
Found with performance*
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
b8712188bb
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
20dfab8036
manual for range loop conversions
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
8e52032ee0
clang-tidy: range loop conversions
...
Found with: modernize-loop-convert
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
c73dfa0106
clang-tidy: use uppercase numeric literals
...
Found with readability-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
8e178e912e
replace {} initialization with fill
...
Old compilers don't implement {} correctly.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
fdf9d3799c
clang-tidy: don't use else after return
...
Found with llvm-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
4aa5566cf6
clang-tidy: make several member functions const
...
Found with readability-make-member-function-const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
24a8139233
clang-tidy: fix badly indented if
...
Found with readability-misleading-indentation
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
1b9b77c51f
clang-tidy: add ending namespace comments
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
bf290e84e5
fix compilation with EXIV2_DEBUG_MESSAGES
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Miloš Komarčević
3416b631c5
Add Sony ARW compression to dict
4 years ago
Rosen Penev
fddb035106
clang-tidy: remove pointless const
...
Found with readability-avoid-const-params-in-decls
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
80595f8468
clang-tidy: remove duplicate public
...
Found with readability-redundant-access-specifiers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse
ca66136092
Use readOrThrow to check error conditions of iIo.read().
...
(cherry picked from commit 0f9eb74c44c908e170a64cab590949d53749af8e)
4 years ago
Rosen Penev
5dc4292b40
fix bad for range loop
...
This loop is supposed to break when it encounters a match.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
091fd77885
clang-tidy: remove redundant member init
...
Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago