Commit Graph

7692 Commits

Author SHA1 Message Date
Luis Diaz Mas
67a5a74115 Throw when trying to write out of the buffer 2018-05-26 09:59:37 +02:00
Luis Diaz Mas
863aaebc92 Use index to access buf.pData_ 2018-05-26 09:59:37 +02:00
Luis Diaz Mas
ed874703ad Prevent call to memcpy with size==0 2018-05-26 09:59:37 +02:00
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.
2018-05-24 19:58:41 +02:00
D4N
89bd7d5ca1
Merge pull request #287 from Exiv2/port_redmine_issues
Port redmine issues 426-825 to the new test suite
2018-05-24 12:37:09 +02:00
Luis Díaz Más
b8b94dc67a Escape characters properly once we started using python literals 2018-05-24 11:06:18 +02:00
Luis Díaz Más
48078e9c8b Fix tests on windows by using os.path.join 2018-05-24 11:06:18 +02:00
Luis Díaz Más
72faa7331d Fix issues with python strings & literals 2018-05-24 11:06:18 +02:00
Dan Čermák
90c8d754b7 [testsuite] Call subprocess.Popen() with shell=True on Windows 2018-05-24 11:06:18 +02:00
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
2018-05-24 11:06:18 +02:00
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
2018-05-24 11:06:18 +02:00
Dan Čermák
4826d87513 [Appveyor] Set environment variable for the Windows version of cat 2018-05-24 11:06:18 +02:00
Dan Čermák
f55cdce761 [testsuite] Port redmine issues 498-825 2018-05-24 11:06:18 +02:00
Dan Čermák
2356984274 [testsuite] Ported redmine bugfixes 426-495 2018-05-24 11:06:18 +02:00
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)
2018-05-24 11:04:30 +02:00
Luis Diaz Mas
1371d677f9 Remove custom messages from enforce(xxx, Exiv2::kerCorruptedMetadata) 2018-05-23 14:14:39 +02:00
Luis Diaz Mas
c0a879aea4 Fix call to std::count, so that we count until the end of the array 2018-05-23 14:14:39 +02:00
Luis Diaz Mas
3ad0050469 Check validity of compressionFlag & compressionMethod 2018-05-23 10:57:13 +02:00
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.
2018-05-23 10:57:13 +02:00
Luis Diaz Mas
234e5794f6 Add tests for #306 2018-05-23 10:57:13 +02:00
Luis Diaz Mas
a227fcda39 debug: Add new debug message to print the PNG chunk being processed 2018-05-23 10:57:13 +02:00
Luis Diaz Mas
b0696d4da6 style: Apply formatting guidelines to one-line ifs 2018-05-23 10:57:13 +02:00
Luis Diaz Mas
4922df6018 Replace '\n' by endl that flush content. Useful for debugging 2018-05-23 10:57:13 +02:00
Luis Díaz Más
e440e40f32 ci: run make with VERBOSE=1
This helps to identify compilation/linking issues
2018-05-22 22:53:18 +02:00
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.
2018-05-22 22:53:18 +02:00
D4N
96f03ea096
Merge pull request #317 from danileo/canon_m100_support
Support Canon M100
2018-05-21 23:46:33 +02:00
Daniel Zucchetto
cb5135f772 Add test for Canon M100 ModelID 2018-05-21 23:35:39 +02:00
Daniel Zucchetto
4e55af8691
Support Canon M100 2018-05-19 20:44:31 +01:00
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.
2018-05-17 17:17:37 +02:00
D4N
9d646f6d78
Merge pull request #312 from Exiv2/gitlab-ci-test
Add GitLab CI
2018-05-16 18:27:44 +02:00
Dan Čermák
fe5ca11396 [travis] Move travis scripts to ci/ folder 2018-05-16 17:14:13 +02:00
Dan Čermák
b2c243cba3 Add gitlab pipeline status badge to README.md 2018-05-16 12:48:48 +02:00
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
2018-05-16 12:48:48 +02:00
Dan Čermák
35bf292d37 [cmake] Add -Warray-bounds=2 only for gcc > 5.0 2018-05-16 12:48:48 +02:00
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.
2018-05-16 12:48:48 +02:00
Dan Čermák
943ba1773e [GitLab] Add .gitlab-ci.yml
- add a GitLab CI configuration file to run a pipeline on the major Linux
  distros
- add a build script that builds all build combinations of exiv2 & runs the test
  suite
2018-05-16 12:46:40 +02:00
D4N
e1f468653b
Merge pull request #258 from D4N/fix_warnings
Fix some of the compiler warnings
2018-05-16 11:44:46 +02:00
Dan Čermák
1d7dd0892c Fix errors not being passed by reference to error() function
- error was passed by value, but a new error message should be appended to it
  => error must be called by reference
- use default parameters of error() in http()
- rename variables to fix shadowing
2018-05-16 10:15:53 +02:00
Dan Čermák
571f97e277 Use __attribute__((format)) in clang too 2018-05-16 10:15:53 +02:00
Dan Čermák
222c65be63 Refactor Nikon case in bigtiffimage
- remove name shadowing
- user std::vector<> instead of raw array
2018-05-16 10:15:53 +02:00
Dan Čermák
4c4d568036 Enforce a valid Value (instead of assert) 2018-05-16 10:15:53 +02:00
Dan Čermák
79f8d63a8b Whitespace cleanup 2018-05-16 10:15:53 +02:00
Dan Čermák
e2b06856d8 Change type of size to uint64_t to avoid a useless cast
The variable size is only populated via getUint64_t => uint64_t is better suited
then unsigned long
2018-05-16 10:15:53 +02:00
Dan Čermák
316548d2de Fix shadowing issues
- renamed variables that were shadowing a previously defined variables
2018-05-16 10:15:53 +02:00
Dan Čermák
5e36363138 Fix double promotion issues 2018-05-16 10:15:53 +02:00
Dan Čermák
bc58752d18 Remove useless casts
This commit removes only casts where type A is cast to the exactly same
type (and not to a platform dependent typedefs)
2018-05-16 10:15:53 +02:00
Dan Čermák
9583e447b2 [travis] Run apt-get update before installing packages 2018-05-16 08:32:05 +02:00
Dan Čermák
bb2019149a [safe_op] Don't use overflow intrinsics in MSVC 2005 2018-05-08 21:52:52 +02:00
Fredrik lingvall
5aed467f42 Clarified the workflow description (after input from piponazo). 2018-05-08 07:22:57 +02:00
Fredrik lingvall
2665549327 Corrected the order of git commands for a PR in the code contribution workflow description. 2018-05-08 07:22:57 +02:00