5556 Commits (96aa7ef3d7fc857aaf62d6c09aa4180292b6eb0c)
 

Author SHA1 Message Date
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
Luis Díaz Más 45fe44aa2f Move condition in if statement to discard work earlier 7 years ago
Luis Díaz Más d82b9434e1 Only print items (Params::prValue) when size > 0 7 years ago
Robin Mills 185d0e9482 #199 Fix for getopt(). Use src/getopt_win32 code instead of libc/getopt() 7 years ago
D4N a4a0516dc4
Merge pull request #238 from D4N/safe_op_improvements
Addition overflow checks improvements
7 years ago
Dan Čermák 06ec1e6984 [safe_op] Refactored addition overflow checks using functions only
- templated structs were not required, SFINAE works for functions too
  => use instead, removes some unneeded code
- fix non-usage of builtins with clang
- adjust unit tests
7 years ago
Dan Čermák 684c8c89de [safe_op] Simplified unsigned int overflow check
Simply check for overflows after the addition, as no undefined behavior can
occur here.
7 years ago
Dan Čermák 31b96b58e7 [safe_op] improved signed int overflow checks via integer promotion
The fallback signed integer overflow check is quite expensive, but the addition
can be safely performed when saved in an int due to integer promotion
rules. This makes the check a little less expensive.
7 years ago
Dan Čermák 029b997ca0 [safe_op] fixed typo in doc-comment 7 years ago
D4N 28fa146d97
Merge pull request #230 from D4N/fix_170
Fix for #170
7 years ago
Dan Čermák cabf756553 Add reproducer for #170 to the test suite 7 years ago
Dan Čermák 751fba8b54 Added dataBuf size check before calling PngChunk::decodeIHDRChunk
- cdataBuf must be at least 8 bytes long otherwise decodeIHDRChunk
  reads out of bounds
- pngImage::readMetadata now skips png chunks where the offset for
  IHDR chunks is invalid
- added assertion into PngChunk::decodeIHDRChunk() to ensure dataBuf
  size
7 years ago
D4N a1ab522eda
Merge pull request #231 from D4N/pngimage_documentation_fix
Fix outdated documentation of PngImage::doWriteMetadata()
7 years ago
Dan Čermák 22a7a8c2ed Fix outdated documentation of PngImage::doWriteMetadata()
The function does not return anything, it only throws exceptions.
7 years ago