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:
+4
-7
@@ -101,12 +101,8 @@ namespace Exiv2
|
||||
}
|
||||
|
||||
BmffImage::BmffImage(BasicIo::UniquePtr io, bool /* create */)
|
||||
: Image(ImageType::bmff, mdExif | mdIptc | mdXmp, std::move(io)),
|
||||
endian_(Exiv2::bigEndian),
|
||||
bReadMetadata_(false)
|
||||
: Image(ImageType::bmff, mdExif | mdIptc | mdXmp, std::move(io))
|
||||
{
|
||||
pixelWidth_ = 0;
|
||||
pixelHeight_ = 0;
|
||||
} // BmffImage::BmffImage
|
||||
|
||||
std::string BmffImage::toAscii(long n)
|
||||
@@ -292,10 +288,11 @@ namespace Exiv2
|
||||
const auto maxlen = static_cast<size_t>(data.size_ - skip);
|
||||
enforce(strnlen(str, maxlen) < maxlen, Exiv2::kerCorruptedMetadata);
|
||||
std::string name(str);
|
||||
if ( !name.find("Exif") ) { // "Exif" or "ExifExif"
|
||||
if (name.find("Exif") != std::string::npos) { // "Exif" or "ExifExif"
|
||||
exifID_ = ID;
|
||||
id=" *** Exif ***";
|
||||
} else if ( !name.find("mime\0xmp") || !name.find("mime\0application/rdf+xml") ) {
|
||||
} else if (name.find("mime\0xmp") != std::string::npos ||
|
||||
name.find("mime\0application/rdf+xml") != std::string::npos) {
|
||||
xmpID_ = ID;
|
||||
id=" *** XMP ***";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user