Commit Graph

245 Commits

Author SHA1 Message Date
Christoph Hasse
08975e3dfc refactor: small cleanup of test infra to avoid duplicate runs 2021-07-30 14:25:50 +02:00
Kevin Backhouse
bf786f4cc6
Updates to make fuzzing work. 2021-07-11 21:14:08 +01:00
Jeka Pats
b2cdf2a535
Add libFuzzer integration + report bug
This commit places the basics for libFuzzer integration with one
fuzzer which fuzzes the readMetadata function. The fuzzer is
located at fuzz/read-metadata.

To add more fuzzers please add them to ./fuzz directory as
described in the README.

Also a memory corruption bug is found using this fuzzer which
might lead to additional bugs after fix is pushed.
2021-07-09 12:32:21 +01:00
Fabrice Fontaine
f31c0eba09 add BUILD_WITH_STACK_PROTECTOR option
Add BUILD_WITH_STACK_PROTECTOR to avoid the following build failure with
toolchains that don't support stack-protector:

/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/9.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: utils.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag]+0xd0): undefined reference to `__stack_chk_fail'

Indeed, support for -fstack-protector-strong can't be detected through
check_cxx_compiler_flag as some toolchains need to link with -lssp to
enable SSP support

Fixes:
 - http://autobuild.buildroot.org/results/ae4635899124c602c70d2b342a76f95c34aa4a3d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-07-01 19:44:40 +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
Luis Díaz Más
b54ade76ab Python3 dependency is not obligatory
Some of the CI-Linux-Distros jobs failed because of this. Python3 is not
available by default on Debian:9 nor in Centos:8.

Since we are not currently running the tests in those platforms, and
python3 is just used for testing, we do not want to enforce this project
dependency.
2021-05-18 14:39:17 +02:00
Luis Díaz Más
9710ebe5f0 cmake - Use cmake -E to be able to run tests on different windows shells 2021-05-17 07:31:45 +02:00
Luis Díaz Más
7aa5260af5 cmake: remove obsolete targets 2021-05-17 07:31:45 +02:00
Luis Díaz Más
64eb95a16f cmake: find python3 and use it in tests 2021-05-17 07:31:45 +02:00
Luis Diaz Mas
e87424b5e0 Add CTest support 2021-05-15 16:58:24 +02:00
Luis Diaz Mas
8035b7f320 cmake: Add target for obtaining local covarage reports 2021-05-14 22:38:30 +02:00
Luis Díaz Más
b675c58bab Move include/CMake to src 2021-05-04 12:36:14 +02:00
Luis Díaz Más
2de3bad869 Remove EXIV2_ENABLE_VIDEO and related stuff 2021-04-18 09:44:51 +02:00
Luis Díaz Más
94b87a8dec Remove deprecated SSH support 2021-04-18 09:44:51 +02:00
Luis Díaz Más
15ac7d13ac
Merge branch 'main' into modernizationCpp 2021-04-16 09:19:42 +02:00
Robin Mills
206a2c495c fix_enableBMFF_v1 2021-04-16 08:23:50 +02:00
Robin Mills
05263a7766 bump_v1.00_version 2021-04-16 08:23:22 +02:00
Robin Mills
bf1e9fe4ad fix_1558_cmake_build_type 2021-04-15 12:41:31 +01:00
Luis Díaz Más
cd5c8fba49 remove some cmake old checks + newer gtest version 2021-04-15 06:56:37 +02:00
Robin Mills
b09019c636 fix_enableBMFF_v1 2021-04-14 16:21:50 +01:00
Robin Mills
350b7b0808 bump_v1.00_version 2021-04-11 07:11:37 +01:00
Robin Mills
e1aa4ced4d v0.27.4RC2 2021-04-07 16:18:22 +01:00
Robin Mills
fd47dc635d Bump revision number to Exiv2 v0.27.4 RC1. PR will be marked for review. 2021-03-18 20:33:33 +00:00
Robin Mills
cd7721c818 Downgrade version to 0.27.4.10 = 0.27.4 RC1 Preview. 2021-03-18 17:59:31 +00:00
Robin Mills
7264238e3e v27_4_rc1_effort2 2021-03-18 09:46:21 +00:00
Robin Mills
16866b3740 Exiv2 v0.27.4 RC1 Preview. 2021-03-17 13:37:40 +00:00
Robin Mills
60d383eabe exiv2_v27_4_rc1 2021-03-17 11:29:00 +00:00
Miloš Komarčević
bf43c6cfd1 Replace tabs to fix indentation issues 2021-03-17 09:42:43 +01:00
Robin Mills
1fad29e11f Fix typos. 2021-03-17 08:21:32 +00:00
Robin Mills
21b73b4207 Refactor CMakeList.txt to run all tests using tests/runner.py 2021-03-17 07:30:59 +00:00
Peter Kovář
f0a321dedb [WIP] Base Media File Format 2021-02-16 10:10:00 +01:00
Peter Kovář
92469f4c27 [WIP] Add ISO/IEC Base Media File Format 2021-01-24 15:09:57 +01:00
postscript-dev
5dbd53fd09
Update PACKAGE_URL and PROJECT_DESCRIPTION text 2020-12-26 19:18:08 +00:00
postscript-dev
c72537830d
Add missing "Xmp" to project description 2020-12-23 17:14:54 +00:00
Robin Mills
483ca6e56b bumpRevision_0.27.4.9 2020-11-24 21:03:30 +00:00
Luis Díaz Más
b304244766 Move winsock2 inclusion to http.cpp 2020-10-06 22:01:01 +02:00
Robin Mills
604a268059 Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism. 2020-10-02 08:44:57 +01:00
Luis Díaz Más
f39b23806b Assume existence of stdint.h 2020-09-16 21:53:49 +02:00
Jan Tojnar
48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:

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

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

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

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
2020-09-05 11:18:46 +02:00
Robin Mills
ada86be02b Exiv2 v0.27.3 GM 2020-06-29 15:50:04 +01:00
clanmills
7b15178f66 Dump revision number. 2020-05-31 10:27:53 +01:00
Luis Díaz Más
19f57060af Fix cmake install in case of subdirectory use
Original commit 7a7d6a0979664db19462ebc655f23a68da523e63 could not be
cherry-picked. Kudos to Taras Kushnir
2020-05-23 09:41:10 +02:00
clanmills
a3451e2e43 Bump Version! (yea, code-complete, I believe). 2020-05-15 14:48:46 +01:00
clanmills
43b06b6814 Don't allow binary into the output stream! 2020-05-11 18:29:35 +01:00
Luis Díaz Más
38e37b7c61 Use -DCMAKE_CXX_STANDARD=98 in our travis jobs 2020-05-05 07:46:53 +02:00
Robin Mills
ae87269ab1 Set default for -DEXIV2_BUILD_UNIT_TESTS OFF 2020-05-04 12:19:38 +01:00
clanmills
63a13e8620 Adding option -DEXIV2_BUILD_USE_C++11 2020-05-02 12:21:21 +01:00
Robin Mills
2b7ae83435 0.27.31_bump_revision_number 2020-04-30 08:41:06 +01:00
Robin Mills
920a03886e Use PROJECT_VERSION_TWEAK to identify RC# 2020-04-27 14:51:04 +01:00
Robin Mills
d0f6eb01c1 Makeover Release Notes and platform/ReadMe 2020-04-22 20:34:49 +01:00