5569 Commits (23e29e9527ed18e8946cdffe7a830e08d3030b1c)
 

Author SHA1 Message Date
Dan Čermák 4656af73bc [testsuite] Fix variable names in suite config
The variables contained a minus which must not be used in template string
variables.
=> Use underscores instead
7 years ago
Dan Čermák cac0bc9656 [testsuite] Adapt documentation to recent changes
- change from {var} => $var
- use metaclass instead of direct inheritance
7 years ago
Dan Čermák bd9d085141 [testsuite] Refactor test suite to use metaclasses & template module
The testsuite now uses python's template module for string substitutions which
allows for a more natural substitution syntax known from the shell. Also, it
allows to run the substitutions multiple times, which is not possible with
string.format().
The heavy-lifting is now performed via a metaclass, which expands all variables
on the class creation.
7 years ago
Luis Díaz Más 02aa13abf3 Install conan-dependencies DLLs into install/bin.
We also changed the way in which we copy the DLLs to the bin folder inside the build directory.
Before we were directly placing the conan-deps DLLs into the bin folder directly. Now we place
them into a directory called conanDlls, and from there we copy them to bin or install/bin
at build and install steps respectively.
7 years ago
Luis Díaz Más c80b1b9d51 New documentation about how to use Conan 7 years ago
Luis Díaz Más a923b067b5 Minor updates in README.md 7 years ago
Luis Díaz Más fbd8e2669e sort alphabetically the sources in src/CMakelists.txt 7 years ago
Luis Díaz Más de5b9ebf89 Remove duplication of sources in src/CMakeLists.txt 7 years ago
Luis Díaz Más 5a6e66fd5b Update RADME-CMAKE.
- Some notes about how to pass -DDEBUG via CMake.
- Update comments about conan.
- Some other minor modifications.
7 years ago
Luis Díaz Más 71ecc44a5e Remove from -DDEBUG from Debug builds in Mac and Linux 7 years ago
Luis Díaz Más ffbcaa2e6d Fix MSVC warning C4267: conversion from 'size_t' to 'long' 7 years ago
Luis Díaz Más 794fea2639 Replaced way to check buffer after calling DateValue::copy 7 years ago
Luis Díaz Más bd40c18f1c Use variable in TimeValue::copy to remove -Wunused-variable warning 7 years ago
Luis Diaz Mas a246c73d6f Use unused variable instead of hard-coded values in DateValue::copy 7 years ago
Luis Diaz Mas bf0b7affaa Add few basic unit tests for DateValue
I feel more confortable doing changes in a code that I do not know by
having some unit tests around it. These characterisation tests will
also be useful as documentation.
7 years ago
Mario Emmenlauer 548d7688c7 samples/geotag.cpp: fixed debugging code to be in the correct ifdef 7 years ago
Luis Díaz Más bf7047a71b clang-format XmpKey code 7 years ago
Luis Díaz Más b545605d25 Add characterisation tests for XmpKey 7 years ago
Luis Díaz Más 336b759cc0 Remove 'using namespace' from public header 7 years ago
Luis Díaz Más 28ca8aa529 Fix Appveyor builds by disabling the search of Iconv on Windows
Note that Iconv has not been used on AppVeyor until now.
7 years ago
Fredrik Lingvall db5bb66d06 CONTRUBUTING.md updates (#234)
* Restructured the file: added TOC, new sections: lens data and bug reports, and removed coding guidelines.

* Added a CODING_GUIDELINES.md file (which previously was a part of the CONTRIBUTING.md file).
7 years ago
Luis Diaz Mas 07d75cd0e8 Check if ExifData::findKey return valid iterators 7 years ago
Luis Diaz Mas ffab622633 Add reproducer for #247 7 years ago
D4N 314d2f91a7
Merge pull request #256 from piponazo/fix253
Fix for #253
7 years ago
Luis Diaz Mas 08aa27ae37 Add reproducers for #253 and #246 7 years ago
Luis Díaz Más 858c99b4df Add enforce before calling REPORT_MARKER with invalid marker 7 years ago
Luis Díaz Más 5e5d76ad0a clang format function 7 years ago
Dan Čermák 8b7941b733 [cmake] Add EXTRA_COMPILE_FLAGS to samples & unitTests
Add the additional compiler flags added by -DEXIV2_TEAM_EXTRA_WARNINGS=ON to
the targets in samples/ & unitTests/
This fixes #204
7 years ago
D4N 1e016f82e7
Merge pull request #249 from D4N/port_github_issues
Port GitHub issues to the new test suite
7 years ago
Dan Čermák e78982c81a [testsuite] simplify test/Makefile 7 years ago
Dan Čermák 1f32207271 [testsuite] rename test_issue_208 -> test_CVE_2017_17722
the issue got a CVE assigned
7 years ago
Dan Čermák 4533d60e74 [testsuite] Added helper function for system_tests.Case.compare_stderr 7 years ago
Dan Čermák 02f60f11ae [testsuite] Reimplemented a part of system_tests.CopyFiles
- main file handling functionality is performed by a base class => can
  be easier extended if required
7 years ago
Dan Čermák 3b01d5205a [testsuite] Port all regression tests for github issues 7 years ago
Dan Čermák 3cbb031442 [testsuite] Unified CVE test cases 7 years ago
Dan Čermák e597e5b811 [testsuite] Fixed CVE number 7 years ago
Dan Čermák c754ca6d14 [testsuite] Corrected class name, issue had no CVE assigned 7 years ago
Dan Čermák 71f9a24027 [testsuite] Unified variable names 7 years ago
D4N bdbab63531
Merge pull request #239 from D4N/fix_CVE_2017_1000126
Fix CVE-2017-1000126
7 years ago
Dan Čermák 48982697b0 Add reproducer for CVE-2017-1000126 to the test suite 7 years ago
Dan Čermák 3c20cc06a9 Fix CVE-2017-1000126
CVE-2017-1000126 is a Stack out of bounds read in the WebP parser caused by the
parameter size & filesize being too large, causing the parser to land in an
infinite loop and eventually crash. Enforcing that the size over which the
parser iterates is smaller than the file fixes this issue.

This fixes #175.
7 years ago
Dan Čermák 49db96cd58 [webp] Fix wrong filesize parameter being extracted from the header
The webp header contains the filesize of the image starting at the 8th byte in
bytes 4 to 8 encoded as a little endian 32 bit unsigned integer. The code was
erroneously assuming that the extracted filesize is starting at the 12th byte,
i.e. at the end of the WebP file header.

Source: https://developers.google.com/speed/webp/docs/riff_container
7 years ago
D4N be992520b1
Merge pull request #252 from D4N/add_enforce
Add enforce() from D
7 years ago
Dan Čermák 842dd4cecc Add a unit tests for enforce() 7 years ago
Dan Čermák 5de9a7b562 Add a port of enforce() from D
enforce is a function comparable to assert(), it ensures that a condition is
true. However, while assert() should be used for conditions where we can be
certain that they are true, enforce is intended to be used for conditions that
can fail (like on invalid input). Therefore enforce() throws an exception when
the condition is false and does not abort the program's execution. Also, it is
not turned off by defining NDEBUG.

- add a new file enforce.hpp
- implement enforce()
7 years ago
HumanDynamo 22a0b32c01 Fix typo of Xmp.video.AspectRatio's value type 7 years ago
Luis Díaz Más eb61e57de0 [conan] Update to conan 1.1.1 and recipes in which we depend on
* Update dependency on libexpat to version 2.2.5
    This new version of the conan recipe contain packages for new compilers
* Get gtest and libcurl from bincrafters
* Update the zlib dependency
* Use clang-5.0
7 years ago
Dan Čermák 59b148aee9 Add regression test for CVE-2017-18005 7 years ago
Luis Díaz Más d21e794239 Do not deference value when it does not exist (Thanks D4N) 7 years ago
Luis Díaz Más 01a5d863ad Apply clang-format to Print::printMetadatum 7 years ago