Dan Čermák
eeb520bf39
[testsuite] Add reproducer for second bug from #159
...
The bug described in the issue got resolved by PR #461 (slices).
2018-10-12 00:41:46 +02:00
Dan Čermák
4c093fece1
Revert "[Travis CI] Add gcc 8 to the build for UBSAN"
...
This reverts commit 7d7bbec517 .
2018-10-11 22:39:17 +02:00
D4N
9366a935d1
Merge pull request #461 from D4N/slices
...
Add new API: Slices (aka std::span, but with range checks)
2018-10-11 17:42:32 +02:00
Dan Čermák
1af8e2875e
[testsuite] Add reproducers for CVE-2017-17724 & #209 , #211
2018-10-11 14:06:16 +02:00
Dan Čermák
962962a8e9
Port Iptc::printStructure & getUshort to slices API
...
This fixes #211 , #210 , #209
2018-10-11 14:06:16 +02:00
Dan Čermák
fec6535ae8
[binaryToString] Reimplement using Slices
...
- reimplement binaryToString:
- it now accepts a Slice and nothing else
- it does not return a std::string but instead a proxy object that implements
operator<< (this should be more efficient, as we do not need to touch the
heap in most cases)
- addapt unit tests
- replace all occurences with the new API
2018-10-11 14:06:16 +02:00
Dan Čermák
a48d0347b7
[binaryToString] Fixed overread when passing start > 0
...
binaryToString(DataBuf&) only calls the C-array version. Unfortunately, its
safety check is flawed, as it only works when start is 0 (probably due to its
conterintuitive interface).
binaryToString(byte*) formats the range (start,start+size) => we have to trimm
size if size + start is larger than the DataBuf's size_
2018-10-11 14:06:16 +02:00
Dan Čermák
bfd84ddf5a
[binaryToString] Improved ambiguous documentation
2018-10-11 14:06:16 +02:00
Dan Čermák
30787e6f1e
[binaryToString] Add unit tests
2018-10-11 14:06:16 +02:00
Dan Čermák
7a7ae7a1df
[image_int] Move internal functions into separate translation unit
2018-10-11 14:06:16 +02:00
Dan Čermák
98bca06592
Add Slices: views of STL containers & C-arrays and add unit tests
...
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
2018-10-11 14:06:16 +02:00
Luis Díaz Más
97379dec1d
Add braces around try-catch block. Apply clang-format to the function.
2018-10-11 13:40:03 +02:00
Luis Díaz Más
4216dcd0c2
Fix cppcheck issues: knownConditionTrueFalse
2018-10-11 13:40:03 +02:00
Luis Díaz Más
ab35759de8
Fix cppcheck issues: unreachableCode
2018-10-11 13:40:03 +02:00
Luis Díaz Más
54ad1bc91a
Fix cppcheck issues: duplicateBreak
2018-10-11 13:40:03 +02:00
Luis Díaz Más
b118192f94
Fix cppcheck issues: redundantAssignment
2018-10-11 13:40:03 +02:00
Luis Díaz Más
c43d998457
Fix cppcheck issues: passedByValue
2018-10-11 13:40:03 +02:00
Luis Díaz Más
989acd18c7
Fix cppcheck issues: uninitMemberVar & uninitVar
2018-10-11 13:40:03 +02:00
Robin Mills
8b9cbc5888
Update taglist sample with more functionality
2018-10-11 12:43:25 +02:00
Luis Díaz Más
19e740b447
Restore API functions remove in #450
2018-10-10 18:16:57 +02:00
Roberto C. Sánchez
c03f73268f
Prevent SIGABRT on excessive subBox length in jp2image.cpp
...
This fixes CVE-2018-9145
2018-10-10 11:52:39 +02:00
Gilles Caulier
af44cec65f
Detect Regex lib with cmake instead of pkg_config
2018-10-10 11:47:11 +02:00
Borchers, Henry Samuel
11e66c6c9e
BUILD_INTERFACE for include directories use PROJECT_SOURCE_DIR to allow for being built as a CMake subproject
2018-10-07 19:20:37 +02:00
D4N
37b8725565
Merge pull request #451 from D4N/fix_isinf
...
Fix isinf on Linux too
2018-09-17 11:34:04 +02:00
Dan Čermák
916c535d94
clang-format floatToRationalCast
2018-09-17 10:03:02 +02:00
Dan Čermák
6fd1c5b4bf
[types] Fix check for finite numbers on Linux
...
On Linux we were merely checking whether f is finite, but that does
not cover the case f=NaN.
=> use isfinite instead which checks whether f != inf && f != NaN
2018-09-17 10:02:55 +02:00
Luis Díaz Más
c5d46ac440
Expect std::exception instead of Exiv2::Error
2018-09-14 13:20:08 +02:00
Luis Díaz Más
18690f4c54
Provide default and copy constructor for AnyError
2018-09-14 13:20:08 +02:00
Luis Díaz Más
6e4404da81
Move implementation details from tags.cpp to tags_int.cpp
2018-09-14 13:20:08 +02:00
Luis Díaz Más
b9f913d5af
Move implementation to .cpp files. Fix more issues related to visibility settings
2018-09-14 13:20:08 +02:00
Luis Díaz Más
e3f975137c
Use STATIC_DEFINE to solve issues with OBJECT library
2018-09-14 13:20:08 +02:00
Luis Díaz Más
4574a659cc
Do not use EXIV2API where it is not needed
2018-09-14 13:20:08 +02:00
Luis Díaz Más
6ba4081f95
Use CMake-GenerateExportHeader to generate a macro to export symbols
...
- Delete the hardcoded macros in config.h taking care of that.
2018-09-14 13:20:08 +02:00
Luis Díaz Más
b78d85c9bb
Set default visibility to hidden
2018-09-14 13:20:08 +02:00
Luis Díaz Más
a0e7b7490f
Add MSVC definitions back that are still needed
2018-09-14 07:43:21 +02:00
Luis Díaz Más
812762cf5a
Remove usage of CPLUSPLUS11
2018-09-14 07:43:21 +02:00
Luis Díaz Más
78c0efeaef
Remove unused c++11 stuff from config.h
2018-09-14 07:43:21 +02:00
Luis Díaz Más
5c0a3b9786
Remove unused definitions from config.h
2018-09-14 07:43:21 +02:00
Luis Díaz Más
0da42d0399
Remove useless header inclusions from config.h
2018-09-14 07:43:21 +02:00
Luis Díaz Más
a6aeadc26b
Remove unused definitions for MSVC
2018-09-14 07:43:21 +02:00
Luis Díaz Más
ab6aac054a
Remove deprecated code from version source files
2018-09-14 07:43:21 +02:00
Luis Díaz Más
1871ce5acd
Remove 'version.hpp' inclusion from places where it is not needed
...
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
2018-09-14 07:43:21 +02:00
Luis Díaz Más
10a6e6f96c
Adapt output in exiv2-test.out
2018-09-14 07:43:21 +02:00
Luis Díaz Más
d46f7a8746
Remove deprecated stuff from config.h.cmake
2018-09-14 07:43:21 +02:00
Luis Díaz Más
e5bcabd026
Do not print hexadecimal version value when running exiv2 --version
2018-09-14 07:43:21 +02:00
Luis Díaz Más
808de65c37
Use CMake PROJECT_VERSION components in version files
2018-09-14 07:43:21 +02:00
Luis Díaz Más
5eb692d536
CPack: Add tweak number. Now packages include the tweak number in the name
2018-09-14 07:43:21 +02:00
D4N
ae0bfa44df
Merge pull request #180 from Exiv2/disable-printStructure
...
Disable printStructure()
2018-09-13 16:30:18 +02:00
Dan Čermák
19bb57ff25
Add reproducer for #262 to the test suite
2018-09-13 11:18:29 +02:00
Luis Díaz Más
2b74ad4feb
Default initialyze DataBuf::pData_ so that valgrind does not complain
2018-09-13 11:18:29 +02:00