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
This commit is contained in:
Luis Díaz Más
2021-06-01 12:39:10 +02:00
committed by GitHub
parent 024830a72c
commit f30022d73d
29 changed files with 118 additions and 201 deletions
+1 -1
View File
@@ -163,7 +163,7 @@ namespace Exiv2 {
const auto data = static_cast<const unsigned char*>(data_buf);
for (size_t i = 0, j = 0 ; i < dataLength;) {
uint32_t octet_a = i < dataLength ? data[i++] : 0 ;
uint32_t octet_a = data[i++];
uint32_t octet_b = i < dataLength ? data[i++] : 0 ;
uint32_t octet_c = i < dataLength ? data[i++] : 0 ;