5556 Commits (96aa7ef3d7fc857aaf62d6c09aa4180292b6eb0c)
 

Author SHA1 Message Date
Luis Diaz Mas 96aa7ef3d7 Add info about adding the piponazo's conan repository 7 years ago
Luis Diaz Mas f2c5fcf49d Format README-CONAN.md file 7 years ago
Luis Diaz Mas 85abdff080 AppVeyor: Remove explicit option EXIV2_ENABLE_XMP. Already ON by default 7 years ago
Luis Diaz Mas 9586928d29 Add CMake code to handle external XMP
Experiment: Try with testing package
7 years ago
D4N e483856a61
Merge pull request #328 from Exiv2/memory_fixes
Memory issue fixes
7 years ago
Dan Čermák a1a9c3d79a Use reinterpret_cast instead of C style cast 7 years ago
Dan Čermák 088986e5fa [unit_tests] Remove a memory leak from test_XmpKey.cpp
XmpProperties::registerNs allocates strings on the heap that must be freed
manually via XmpProperties::unregisterNs().
=> do this in TearDownTestCase()
7 years ago
Dan Čermák b51b6fc52d Prevent an out of bounds read in strstr in JpegBase::printStructure
The xmp byte array is not necessarily null terminated => strstr can read beyond
the bounds of the allocated array then.
Therefore use string_from_unterminated to remedy this issue.
Also replace xmp with a std::vector, as stl functions can throw and we don't
want a memory leak.
7 years ago
Dan Čermák 510560bbd1 Prevent out of bounds read in jpgimage.cpp JpegBase::printStructure
signature is extracted from an image and can lack the terminating \0, this
causes the std::string constructor and strcmp to read beyond the bounds of the
allocated array.
=> Use string_from_unterminated to construct a std::string safely and use it
in the subsequent code & use stl functions instead of C functions
7 years ago
Dan Čermák dd52b1a832 Add helper_functions.cpp/hpp & unit tests
- add function which constructs a new std::string from a potentially not null
  terminated char *
- add unit tests
7 years ago
Luis Diaz Mas 4713336c93 Add more unit tests for TiffHeader 7 years ago
Luis Diaz Mas 59493d1edc Fix bug in Cr2Header::read 7 years ago
Luis Diaz Mas b1c34ee11f Add unit tests for Cr2Header 7 years ago
Luis Diaz Mas 1d27c21639 Rename files from cr2image_int to cr2header_int 7 years ago
Luis Diaz Mas 8eca055058 Add POC + regression test.
Note that we override here the method check_no_ASAN_UBSAN_errors to also
analyze the last two lines of got_stderr.
7 years ago
Luis Diaz Mas 67a5a74115 Throw when trying to write out of the buffer 7 years ago
Luis Diaz Mas 863aaebc92 Use index to access buf.pData_ 7 years ago
Luis Diaz Mas ed874703ad Prevent call to memcpy with size==0 7 years ago
Luis Diaz Mas f17636460f Remove tags_int.cpp that was not used in the project
I introduced that file accidentally in the project while trying to move
the implementation details to xxx_int.cpp files. In this case, I found
out some issues and I just decided to leave the implementation in the
file tags.cpp.
7 years ago
D4N 89bd7d5ca1
Merge pull request #287 from Exiv2/port_redmine_issues
Port redmine issues 426-825 to the new test suite
7 years ago
Luis Díaz Más b8b94dc67a Escape characters properly once we started using python literals 7 years ago
Luis Díaz Más 48078e9c8b Fix tests on windows by using os.path.join 7 years ago
Luis Díaz Más 72faa7331d Fix issues with python strings & literals 7 years ago
Dan Čermák 90c8d754b7 [testsuite] Call subprocess.Popen() with shell=True on Windows 7 years ago
Dan Čermák 939ded283f [testsuite] check stderr before stdout
That way you get to see error messages about wrong filenames instead of an
empty stdout
7 years ago
Dan Čermák 61dbba1396 [travis] Don't run python tests twice
make tests already runs the python test suite, no need to do so again
7 years ago
Dan Čermák 4826d87513 [Appveyor] Set environment variable for the Windows version of cat 7 years ago
Dan Čermák f55cdce761 [testsuite] Port redmine issues 498-825 7 years ago
Dan Čermák 2356984274 [testsuite] Ported redmine bugfixes 426-495 7 years ago
Dan Čermák de33dbc497 Add Vagrant VMs & combine it with gitlab-ci
- add Vagrantfile to contrib/vms
- add custom provisioning via shell scripts
- move gitlab-ci before_script: to ci/install_dependencies.sh which is also used
  by vagrant
- change COPR setup on CentOS 7 (yum-plugin-copr does not seem to work)
7 years ago
Luis Diaz Mas 1371d677f9 Remove custom messages from enforce(xxx, Exiv2::kerCorruptedMetadata) 7 years ago
Luis Diaz Mas c0a879aea4 Fix call to std::count, so that we count until the end of the array 7 years ago
Luis Diaz Mas 3ad0050469 Check validity of compressionFlag & compressionMethod 7 years ago
Luis Diaz Mas 2fb00c8a16 Analyze minimum needed number of null separators in PngChunk::parseTXTChunk
This commit fixes the heap-buffer-overflow in PngChunk::parseTXTChunk.

According to the specification:
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html

There must be 2 null separators when we start to analyze the language tag.
7 years ago
Luis Diaz Mas 234e5794f6 Add tests for #306 7 years ago
Luis Diaz Mas a227fcda39 debug: Add new debug message to print the PNG chunk being processed 7 years ago
Luis Diaz Mas b0696d4da6 style: Apply formatting guidelines to one-line ifs 7 years ago
Luis Diaz Mas 4922df6018 Replace '\n' by endl that flush content. Useful for debugging 7 years ago
Luis Díaz Más e440e40f32 ci: run make with VERBOSE=1
This helps to identify compilation/linking issues
7 years ago
Luis Díaz Más c3629117d8 conan: Upgrade libcurl version
Thanks to this upgrade the cmake code that handles the CURL dependency
can be simplified. Now we can use the shared version of CURL in all the
platforms. However we will use for the moment the static version on Mac,
since we are having some issues with 'make tests'. Once those tests are
migrated to python we can also use the shared version there.
7 years ago
D4N 96f03ea096
Merge pull request #317 from danileo/canon_m100_support
Support Canon M100
7 years ago
Daniel Zucchetto cb5135f772 Add test for Canon M100 ModelID 7 years ago
Daniel Zucchetto 4e55af8691
Support Canon M100 7 years ago
Dan Čermák 4b24e011dc Free potentially allocated regexes from Params::evalGrep
In Params::evalGrep regcomp allocates some internal space for the regex objects,
which must be freed manually via regfree(). This was however only done when the
call to regcomp() failed and not on success. As the regexes are needed later,
they have to be deallocated by the destructor.
7 years ago
D4N 9d646f6d78
Merge pull request #312 from Exiv2/gitlab-ci-test
Add GitLab CI
7 years ago
Dan Čermák fe5ca11396 [travis] Move travis scripts to ci/ folder 7 years ago
Dan Čermák b2c243cba3 Add gitlab pipeline status badge to README.md 7 years ago
Dan Čermák 8c1be86104 [cmake] Add -Wdouble-promotion & -Wcomma only for certain clang versions
-Wdouble-promotion is not available in clang 3.4.2
-Wcomma is not available in clang 3.8.1
7 years ago
Dan Čermák 35bf292d37 [cmake] Add -Warray-bounds=2 only for gcc > 5.0 7 years ago
Dan Čermák bf51a76e4e [safe_op] Fix ODR violation in compiler builtin specializations
The compiler instrinsics are exposed via fully specialized template functions
which must not be defined twice (which they accidentally were). Declaring them
as inline fixes this issue.
7 years ago