Luis Díaz Más
813566526c
Revisiting cmake code for generating coverage reports ( #2047 )
...
* cmake: better usage of gcovr for coverage reports
* Add test for FileIo::setPath
* Remove useless seek() overload
* Add missing override specifiers
* ignore .vs folder
* Small refactors in BasicIo implementations
* Remove duplicated doxygen doc
* Refactor & add tests for MemIO
* Fix compilation warnings on windows
2022-01-06 12:52:01 +01:00
Kevin Backhouse
44542a9f94
Add readOrThrow and seekOrThrow to BasicIo.
2021-10-21 10:18:21 +01:00
Kevin Backhouse
9ff72e5ca5
Make offset=0 the default parameter.
2021-08-30 12:41:08 +01:00
Kevin Backhouse
c9d0cf3643
Make fields of DataBuf private.
2021-08-29 15:43:10 +01:00
Kevin Backhouse
64fe77673f
Decouple EXIV2_BUILD_FUZZ_TESTS from EXIV2_TEAM_USE_SANITIZERS.
2021-08-11 15:11:01 +01:00
Kevin Backhouse
944e68fa15
Merge pull request #1787 from Exiv2/mergify/bp/main/pr-1766
...
Extra checking to prevent loop counter from wrapping around (backport #1766 )
2021-07-25 19:53:52 +01:00
Kevin Backhouse
69d82ffe01
Defensive coding changes to avoid integer overflow in loop conditions.
2021-07-18 15:02:35 +01:00
Kevin Backhouse
dc2c77ce81
Safer std::vector indexing.
2021-07-18 14:40:45 +01: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
Rosen Penev
2c57f214c5
clang-tidy: use nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-26 08:31:45 +02:00
Rosen Penev
743da1a564
clang-tidy: use C++ casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:29:02 +02:00
Rosen Penev
8dbc699858
clang-tidy: add missing explicit
...
Found with google-explicit-constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 16:48:44 +02:00
Rosen Penev
cdbee3c26c
clang-tidy: init in member initializer
...
Found with cppcoreguidelines-prefer-member-initializer
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:11:42 +02:00
Rosen Penev
8564d0b394
clang-tidy: pass by value
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-18 14:30:08 +02:00
Rosen Penev
b8712188bb
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-17 21:52:03 +02:00
Rosen Penev
fdf9d3799c
clang-tidy: don't use else after return
...
Found with llvm-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-15 17:32:56 +02:00
Rosen Penev
674fdcd38b
clang-tidy: fix declartation names
...
Found with readability-inconsistent-declaration-parameter-name
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 09:26:51 +02:00
Rosen Penev
2e73aa9dc0
default con/destructors in headers
...
Helps to optimize trivially destructable stuff.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 09:10:36 +02:00
Rosen Penev
5d716c7df4
clang-tidy: empty() conversions
...
Found with readability-container-size-empty
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 07:12:15 +02:00
Rosen Penev
143a1fbbe2
clang-tidy: don't use string compare
...
Found with readability-string-compare
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 07:12:15 +02:00
Rosen Penev
8337462032
clang-tidy: use empty() instead of comparing size
...
Found with readability-container-size-empty
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-11 22:02:47 +02:00
Rosen Penev
af7b2430c5
clang-tidy: use override
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-11 17:39:59 +02:00
Rosen Penev
15f0a600ed
clang-tidy: use default member init
...
Found with modernize-use-default-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-11 15:01:26 +02:00
Rosen Penev
bd6a996181
clang-tidy: use using
...
Found with modernize-use-using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 17:42:51 +02:00
Rosen Penev
b3040da54c
clang-tidy: don't check for NULL with delete
...
Found with readability-delete-null-pointer
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 17:42:26 +02:00
Rosen Penev
1dc1186760
clang-tidy: simplify boolean expressions
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 17:30:46 +02:00
Rosen Penev
8128716287
clang-tidy: use = default
...
Found with modernize-use-equals-default
Ran through git clang-format
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 15:18:50 +02:00
Luis Díaz Más
9de534976f
msvc: fix compiler warning on x86
2021-05-03 06:40:02 +02:00
Luis Díaz Más
90dde02359
Win - Disable UNICODE which is failing at the moment
2021-05-03 06:40:02 +02:00
Rosen Penev
84220855b2
clang-tidy: use = delete
...
Found with modernize-use-equals-delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-03 06:34:47 +02:00
Luis Díaz Más
75bf666d3b
Remove typedef to Dictionary::const_iterator
2021-04-19 10:43:46 +02:00
Luis Díaz Más
94b87a8dec
Remove deprecated SSH support
2021-04-18 09:44:51 +02:00
Robin Mills
d632988bbd
Massive code prolog cleanup.
2021-03-17 13:34:21 +00:00
clanmills
37cc2db72d
fix 1307 ASAN issues with RemoteIo
2020-09-17 17:57:06 +01:00
Robin Mills
7bf40a2408
fix_1211_c++11_0.27. I'll explain this in the PR.
2020-05-28 14:16:08 +01:00
clanmills
5b4743301e
The smart robot at codeCover/lgtm spotted typos in the code! Robot's almost as smart as Dan!
2020-05-15 14:42:35 +01:00
clanmills
c920f2ac44
CurlIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
2020-05-15 13:06:38 +01:00
clanmills
f768fc0a42
RemoteIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
2020-05-15 11:05:03 +01:00
clanmills
63a13e8620
Adding option -DEXIV2_BUILD_USE_C++11
2020-05-02 12:21:21 +01:00
Luis Diaz Mas
235087af4e
Do not call tell() in File::eof() - Fix tests & performance
2020-04-24 07:42:23 +02:00
clanmills
7658d8aefd
fix_macOS_0.27
2020-03-28 08:08:28 +00:00
Robin Mills
4852bd2ab2
fix_910_remote_io_block+1
2019-10-08 14:42:41 +02:00
Kevin Backhouse
edb4bf78ca
Add bounds check to MemIo::seek(). ( #944 )
...
- Regression test for missing bounds check in MemIo::seek()
- Add bounds check to MemIo::seek(), this fixes CVE-2019-13504
(cherry picked from commit bd0afe0390439b2c424d881c8c6eb0c5624e31d9)
Additional fixes for 0.27:
- Add fix for the linux variant of MemIo::seek
- Change type of variable from unsigned to signed
2019-07-28 12:43:06 +02:00
Luis Díaz Más
113136e134
Replace DEBUG with EXIV2_DEBUG_MESSAGES
...
Fixes #926
2019-07-12 11:14:35 +02:00
clanmills
ab0b97c729
fix895-ICCProfile-FalseWarning
2019-06-06 12:33:09 +01:00
Luis Diaz Mas
6f8d8e3da6
cleanup header inclusions in API
2019-01-11 15:55:25 +01:00
Luis Díaz Más
59ba209fe8
Move BlockMap to .cpp file (Remove it from API)
...
- Also make some BlockMap methods const
2018-11-07 23:17:26 +01:00
Luis Díaz Más
59013f2e2f
Formatting code
2018-11-06 14:40:36 +01:00
Luis Díaz Más
603692a1d8
Copyright to Exiv2 authors
2018-09-12 19:22:31 +02:00
Dan Čermák
39399ac5e8
Remove memory leak in SshIo::SshImpl::getDataByRange
...
The buffer array is not deleted, when an exception is thrown
(happens for nBytes< 0).
=> use std::vector<char> instead
2018-07-28 23:50:33 +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
fc60d97a29
Prevent passing of null-pointers to libc functions
2018-04-25 00:13:41 +02:00
Dan Čermák
2bf89f4854
Store pointers to Impl classes in auto_ptr
...
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
2018-04-25 00:13:26 +02:00
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
2018-02-18 09:28:57 +01:00
Robin Mills
df4113b765
changes to MemIo::reserve() for #200 ( #213 )
...
* changes to MemIo::reserve() for #200
* Changes following review by Dan (thanks, Dan).
2018-01-26 09:19:03 +01:00
Luis Díaz Más
bfe057ca20
Auto-formatting done by the IDE while touching code in the previous commits
2017-12-06 17:29:05 +01:00
Luis Díaz Más
8b049922d7
Change exiv2::urlencode signature to return std::string
...
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
2017-12-06 17:29:05 +01:00
tbeu
5b5987a596
Remove obsolete EXIV2_RCSID
2017-11-19 11:17:12 +01:00
tbeu
5df8b01b77
Remove obsolete svn revision
2017-11-19 11:17:11 +01:00
Luis Díaz Más
8ad49f6d73
Robin changes in sync with master changes
2017-09-28 19:42:57 +02:00
clanmills
6e3855aed7
Fix https://github.com/Exiv2/exiv2/issues/55
2017-09-27 09:20:13 +01:00
clanmills
d366943297
Refactoring EXV_USE_CURL and EXV_USE_SSH
2017-09-13 16:54:10 +01:00
Robin Mills
82dbe6199d
https://github.com/Exiv2/exiv2/issues/11 Closed. Coincidentally Raphael reported issues with Visual Studio 2015 Community Edition. Issue 11 and Raphael's issues should now be resolved.
2017-06-29 22:13:26 +01:00
Robin Mills
559ace375b
#1291 Reverting change in r4763 relating to windows.h as they break the Cygwin build. Retain changes in exiv2/exiv2.hpp and exv_msvc.h
2017-04-23 19:29:19 +00:00
Robin Mills
f36cccefa2
#1291 include header simplification
2017-04-23 17:31:57 +00:00
Robin Mills
67859f4f4e
#1175 I'm going to accept the recommendation to change BasicIo::size() to return size_t. This passes the test suite. The only "ripple" outside of basicio is to iotest.cpp. This change enables several casts to be removed.
2017-04-19 17:03:54 +00:00
Robin Mills
7da3ad2e41
#1175 . Thanks to LaserSoft for reporting this and providing a patch.
2017-04-19 15:36:00 +00:00
Robin Mills
192a2a83cf
#1279 Cleaned up doxygen warnings for doc and website.
2017-03-16 18:13:12 +00:00
Robin Mills
6d5c2c3256
Getting ready to release v0.26
2017-03-08 20:42:28 +00:00
Robin Mills
2ebacb6b0b
#1272 Use in-memory temporary files.
2017-03-05 17:42:12 +00:00
Robin Mills
9f06ff2971
#1272 Submitting modified version of Ben's patch.
2017-02-15 20:53:58 +00:00
Robin Mills
b9f584fbbf
#1430 Correcting MSVC build breaker in r4639
2016-10-18 10:11:39 +00:00
Robin Mills
a057af1616
#1244 . Removing experimental APIs introduced by r4637. I submitted those APIs just to retain the code somewhere. I have no plan to release such as API.
2016-10-17 16:32:58 +00:00
Robin Mills
f5956d5db2
#1230 Fixes to read tiff with web-ready. Includes the BasicIo expiremental API readUnmarked() and markRead() which I will remove later.
2016-10-17 15:48:42 +00:00
Robin Mills
2f86b6bbc0
#1244 Fix submitted.
2016-10-15 09:04:06 +00:00
Robin Mills
957f71f6a6
#1230 Fix MinGW stdin-test breaker
2016-10-08 19:33:46 +00:00
Robin Mills
c10bc003a7
#1023 Fix getDataByRange CURLOPT_SSL_VERIFYHOST. Fix http-test.sh (and associated test/data/http-test.out).
2016-09-29 15:30:55 +00:00
Robin Mills
c78a76c45c
#1109 MinGW/32. Correction to r4538 for all versions of msvc.
2016-09-22 22:46:44 +00:00
Robin Mills
f44f706478
MinGW changes following discussion about building with Qt5.6/MinGW 4.9.2 http://dev.exiv2.org/boards/3/topics/2705
2016-09-07 17:08:27 +00:00
Robin Mills
d7463fd114
#1074 and #1057 Fixing build breakers on Cygwin and msvc MinGW to be further investigaged. add checkSum to test functions
2016-09-07 13:17:47 +00:00
Robin Mills
8afd3f43aa
#1198 . Fixed issue with http I/O failing a test file.
2016-07-25 00:38:11 +00:00
Robin Mills
04f871cc4c
#1152 Fix submitted. Also added new static function FileIo::temporaryPath() which I require for tgt - code and fixed typo in tiffvisitor.cpp
2016-01-11 10:03:48 +00:00
tbeu
e0a408ca6d
Replace LoadLibraryA/FreeLibrary by GetModuleHandleA for kernel32.dll (which is loaded by default)
2015-11-11 21:52:05 +00:00
Robin Mills
d88a3f5556
#1132 . Fix submitted.
2015-10-29 19:39:11 +00:00
Robin Mills
abd5ecedd4
#1129 . Fix submitted.
2015-10-13 21:19:25 +00:00
Andreas Huggel
910f389e50
#1116 : Reverted changes to BasicIo::BasicIo() introduced in r3933
2015-10-10 07:10:50 +00:00
Robin Mills
8ff86b6875
#1110 . Xcode project moved to contrib/xcode. Interesting errors in samples/Makefile. Replaced gsoc13 Exiv2::dict_t with (identical twin) Exiv2::Dictionary
2015-09-23 20:43:16 +00:00
Robin Mills
6767878fb8
#1116 . Fix submitted.
2015-09-08 22:17:45 +00:00
Andreas Huggel
b030a4de7c
#1077 : Removed msync() calls from MemIo.
2015-08-25 03:13:21 +00:00
Andreas Huggel
533668808d
Fixed cross-compiler warnings.
2015-06-21 14:21:21 +00:00
Andreas Huggel
108310bfb4
Prefix published precompiler define as usual.
2015-06-15 15:09:30 +00:00
Andreas Huggel
fd80993ab0
Updated copyright notice.
2015-05-02 11:55:40 +00:00
tbeu
a2edf47056
refs 1038: Fix eof detection in MemIo::getb and avoid crash on truncated jpeg files (Vitaliy Filippov)
2015-04-10 19:47:04 +00:00
tbeu
8f5e5a8c4a
refs #922 :
...
* Fix MSVC warning introduced by r3650
* Change first argument of BasicIo::seek to signed integer type
2015-04-10 18:50:03 +00:00
Robin Mills
e51425046e
#1043 #1042 #812 . Thank You to Thomas for this "polishing" patch. Thank you to everybody who has worked on this issue. Adding all the comments on the three issues together comes to about 60 items by at least 6 contributors. And it involves platform issues, networking, Linux and Windows APIs. One of the most complex issues to arise in Exiv2. Well done everybody. And we've dealt with this quickly. Only 9 days since Calvin first reported #1042 .
...
I use the term "complex" to mean many threads of technology. "complex" != "complicated". "complicated" = "difficult to understand". We try to avoid "complicated".
2015-03-24 22:25:34 +00:00
Robin Mills
6b20a636b7
#1043 and #1042 . Thanks to Thomas for showing that r3627 reintroduced #812 . Thanks to Thoralf for suggesting msync MemIo fix.
2015-03-24 00:27:59 +00:00
Robin Mills
7817180351
#1042 and #1043 . Don't use a MemIo object for small temporary files.
2015-03-21 16:35:06 +00:00
Robin Mills
41243f8653
#1038 . Thank You to Vitaliy for reporting this and providing the patch.
2015-03-09 10:28:08 +00:00
Robin Mills
ccfc4b62fd
trunk: webready integration. split preview-test.sh and added eps-preview-test.sh (and fix basicio.cpp and svn_version.sh issues).
2014-12-27 10:05:29 +00:00
Robin Mills
d393b0fa7e
trunk: exiv2 v0.25
2014-12-25 13:55:57 +00:00