Kevin Backhouse
1ada360774
Fix some incorrect format specifiers.
2022-07-05 10:54:19 -07:00
Kevin Backhouse
ad4e13b827
Change return type of BasicIo::tell() to size_t.
2022-06-21 17:05:10 +01:00
Miloš Komarčević
e00422ae52
Account for header bytes for Exif and XMP boxes
2022-05-19 10:25:13 +02:00
Rosen Penev
48f848f5bb
clang-tidy: remove const params in decls
...
Found with readability-avoid-const-params-in-decls
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:53:13 -07:00
Luis Díaz Más
941017d281
Fix issues on ARM builds ( #2205 )
...
* Specify base class initialization in Copy Constructor
* Fix printing of uint64_t variable in ARM 32bits
Use cinttypes
* Fix alignment issues on ARM 32 bits
* tests: add assertion with custom message
2022-04-13 15:22:22 +02:00
Rosen Penev
b72e4b0e44
clang-tidy: use auto
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-01 16:37:51 -07:00
Luis Díaz Más
d7f35e33f0
Remove useless static_casts
2022-03-25 08:43:37 +01:00
Luis Díaz Más
b05573fadc
Remove most of the asserts from codebase
2022-03-23 16:55:18 +01:00
Luis Díaz Más
30bf563f4d
Update .clang-format file & apply clang-format to whole project
2022-03-16 22:30:53 +01:00
Luis Díaz Más
96f7f2e4c5
Convert Exiv2::ErrorCode into an enum class
2022-03-12 16:58:40 +01:00
Luis Díaz Más
2834fa5f05
Use [[maybe_unused]]
2022-03-07 22:25:51 +01:00
Rosen Penev
04bacdedd6
clang-tidy: use auto
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-04 15:54:05 -08:00
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
2022-03-04 11:44:39 +01:00
Luis Díaz Más
e07c3771da
Fix more issues found by fuzzer
2022-02-27 12:42:08 +01:00
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
2022-02-27 09:41:47 +01:00
Luis Díaz Más
c5a9dfd9af
Merge pull request #2109 from Exiv2/main_StringView
...
Refactoring & cleanup
2022-02-21 22:29:43 +01:00
Luis Díaz Más
8b3da36f42
Improvements from code review
2022-02-19 17:27:29 +01:00
Kevin Backhouse
90aa007188
Convert type of pixelHeight/pixelWidth to platform-independent uint32_t.
2022-02-18 22:17:32 +00:00
Luis Díaz Más
a6185d29c6
Image::setComment now takes string_view
2022-02-18 18:01:02 +01:00
Kevin Backhouse
256365830a
Replace Metadatum::toLong() with Metadatum::toInt64().
2022-02-18 12:30:33 +00:00
Luis Díaz Más
0f03e77634
Simplify code around UniquePtr(s) & use make_unique over new
2022-02-05 11:02:04 +01:00
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>
2022-02-04 08:53:04 +01:00
Miloš Komarčević
8b7d8729b7
Expose unsupported CR3 previews as binary
2021-10-20 22:15:44 +02:00
Miloš Komarčević
40e5021577
Limit CR3 previews to JPEG only
2021-10-20 16:17:24 +02:00
David Houlder
4e587fa931
Performance boost: don't read boxes we're not interested in
2021-10-19 22:44:55 +11:00
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>
2021-10-17 22:28:05 +01:00
Kevin Backhouse
81cfc162c1
Use std::move to transfer ownership of DataBufs.
2021-10-10 23:56:00 +01:00
Kevin Backhouse
9ff72e5ca5
Make offset=0 the default parameter.
2021-08-30 12:41:08 +01:00
Kevin Backhouse
e41f0c2cce
Fix build failure on Windows.
2021-08-29 15:49:12 +01:00
Kevin Backhouse
c9d0cf3643
Make fields of DataBuf private.
2021-08-29 15:43:10 +01:00
Peter Kovář
1d095cf751
Removed tag handled separately
2021-08-05 10:04:51 +02:00
Peter Kovář
8f889c132e
Corrected JPEG XL file type
2021-08-01 13:56:48 +02:00
Kevin Backhouse
5eb464271e
Fix format specifier.
2021-07-23 16:55:47 +01:00
Kevin Backhouse
43d95b8a75
Fix compiler warnings.
2021-07-23 16:25:55 +01:00
Kevin Backhouse
3019fbee4f
Extra protection against large allocations.
2021-07-23 16:19:26 +01:00
Kevin Backhouse
78e9c8aa82
address + box_length == box_end
2021-07-23 15:24:59 +01:00
Kevin Backhouse
02d4ef2c5e
Support for 64-bit box lengths looked broken.
2021-07-23 15:06:57 +01:00
Kevin Backhouse
8c64e9abba
Add pbox_end param to BmffImage::boxHandler to enforce box nesting.
2021-07-23 13:23:56 +01:00
Christoph Hasse
3e681c6730
fix: avoid processing MOV (quicktime) files when BMFF is enabled
...
(cherry picked from commit 1b6895927f293855e5bb437ad28f31da2c2cfe54)
2021-07-12 18:17:20 +00:00
Kevin Backhouse
2b84f4bd64
fix: zero initialize local variables. ( #1743 )
...
* Zero initialize local variables.
* Initialize xmpID_
2021-06-27 08:56:31 +02:00
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
2021-06-01 12:39:10 +02:00
Rosen Penev
743da1a564
clang-tidy: use C++ casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:29:02 +02:00
Rosen Penev
cdbee3c26c
clang-tidy: init in member initializer
...
Found with cppcoreguidelines-prefer-member-initializer
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:11:42 +02:00
Rosen Penev
b8712188bb
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-17 21:52:03 +02:00
Kevin Backhouse
8388223deb
Check that the string is properly terminated.
2021-04-22 11:38:49 +02:00
Kevin Backhouse
e8422732af
Fix LGTM warning about format specifier
...
https://lgtm.com/projects/g/Exiv2/exiv2/rev/pr-6633ad1cc6e6c36bffd6655165c299c53e934b22
2021-04-22 11:38:49 +02:00
Kevin Backhouse
e97a9ff88a
Fix signed/unsigned compiler warning.
2021-04-22 11:38:49 +02:00
Kevin Backhouse
27e349e063
Fix signed/unsigned compiler warning.
2021-04-22 11:38:49 +02:00
Kevin Backhouse
285e7a4e72
Fix out-of-bounds read in bmffimage.cpp
2021-04-22 11:38:49 +02:00
Luis Díaz Más
f85f7f717a
Replace many of the iterators types with auto
2021-04-19 10:43:46 +02:00