From 360c6cd41f15baf6d999da12e1fc077180f5da91 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Sun, 25 Jun 2023 16:14:06 +0100 Subject: [PATCH 1/2] Check if the metadata is NULL. --- src/nikonmn_int.cpp | 16 ++++++++-------- src/sonymn_int.cpp | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/nikonmn_int.cpp b/src/nikonmn_int.cpp index 2887c1b62..949023d00 100644 --- a/src/nikonmn_int.cpp +++ b/src/nikonmn_int.cpp @@ -3384,7 +3384,7 @@ std::ostream& Nikon3MakerNote::printExternalFlashData2(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashMasterDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3413,7 +3413,7 @@ std::ostream& Nikon3MakerNote::printFlashMasterDataFl6(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashMasterDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3480,7 +3480,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupBCControlData(std::ostream& os, co std::ostream& Nikon3MakerNote::printFlashGroupADataFl6(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3509,7 +3509,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupADataFl6(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashGroupADataFl7(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3538,7 +3538,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupADataFl7(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashGroupBDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3567,7 +3567,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupBDataFl6(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashGroupBDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3596,7 +3596,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupBDataFl7(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashGroupCDataFl6(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; @@ -3625,7 +3625,7 @@ std::ostream& Nikon3MakerNote::printFlashGroupCDataFl6(std::ostream& os, const V std::ostream& Nikon3MakerNote::printFlashGroupCDataFl7(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f(os.flags()); - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; os.flags(f); return os; diff --git a/src/sonymn_int.cpp b/src/sonymn_int.cpp index f2950c460..2fe62bdbf 100644 --- a/src/sonymn_int.cpp +++ b/src/sonymn_int.cpp @@ -1799,7 +1799,7 @@ const TagInfo* SonyMakerNote::tagListFp() { std::ostream& SonyMakerNote::printSony2FpAmbientTemperature(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1) + if (value.count() != 1 || !metadata) return os << "(" << value << ")"; auto pos = metadata->findKey(ExifKey("Exif.Sony2Fp.0x0002")); @@ -1879,7 +1879,7 @@ const TagInfo* SonyMakerNote::tagListSonyMisc1() { std::ostream& SonyMakerNote::printSonyMisc1CameraTemperature(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1) + if (value.count() != 1 || !metadata) return os << "(" << value << ")"; auto pos = metadata->findKey(ExifKey("Exif.SonyMisc1.0x0004")); From 1119a68a1e90b5a278f4ecc70461bfca786eee0d Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Sun, 25 Jun 2023 22:23:24 +0100 Subject: [PATCH 2/2] Check if the metadata is NULL. --- src/sonymn_int.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/sonymn_int.cpp b/src/sonymn_int.cpp index 2fe62bdbf..a2cde2282 100644 --- a/src/sonymn_int.cpp +++ b/src/sonymn_int.cpp @@ -827,7 +827,7 @@ std::ostream& SonyMakerNote::printWBShiftABGM(std::ostream& os, const Value& val } std::ostream& SonyMakerNote::printFocusMode2(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; return os; } @@ -854,7 +854,7 @@ std::ostream& SonyMakerNote::printFocusMode2(std::ostream& os, const Value& valu } std::ostream& SonyMakerNote::printAFAreaModeSetting(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; return os; } @@ -891,7 +891,7 @@ std::ostream& SonyMakerNote::printAFAreaModeSetting(std::ostream& os, const Valu } std::ostream& SonyMakerNote::printFlexibleSpotPosition(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 2 || value.typeId() != unsignedShort) { + if (value.count() != 2 || value.typeId() != unsignedShort || !metadata) { os << "(" << value << ")"; return os; } @@ -916,7 +916,7 @@ std::ostream& SonyMakerNote::printFlexibleSpotPosition(std::ostream& os, const V } std::ostream& SonyMakerNote::printAFPointSelected(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; return os; } @@ -967,7 +967,7 @@ std::ostream& SonyMakerNote::printAFPointSelected(std::ostream& os, const Value& } std::ostream& SonyMakerNote::printAFPointsUsed(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.typeId() != unsignedByte) { + if (value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; return os; } @@ -994,7 +994,7 @@ std::ostream& SonyMakerNote::printAFPointsUsed(std::ostream& os, const Value& va } std::ostream& SonyMakerNote::printAFTracking(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) { + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) { os << "(" << value << ")"; return os; } @@ -1297,7 +1297,7 @@ std::ostream& SonyMakerNote::printImageSize(std::ostream& os, const Value& value } std::ostream& SonyMakerNote::printFocusMode(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedShort) { + if (value.count() != 1 || value.typeId() != unsignedShort || !metadata) { os << "(" << value << ")"; return os; } @@ -1314,7 +1314,7 @@ std::ostream& SonyMakerNote::printFocusMode(std::ostream& os, const Value& value } std::ostream& SonyMakerNote::printAFMode(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedShort) { + if (value.count() != 1 || value.typeId() != unsignedShort || !metadata) { os << "(" << value << ")"; return os; } @@ -1336,7 +1336,7 @@ std::ostream& SonyMakerNote::printAFMode(std::ostream& os, const Value& value, c } std::ostream& SonyMakerNote::printFocusMode3(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedShort) { + if (value.count() != 1 || value.typeId() != unsignedShort || !metadata) { os << "(" << value << ")"; return os; } @@ -1353,7 +1353,7 @@ std::ostream& SonyMakerNote::printFocusMode3(std::ostream& os, const Value& valu std::ostream& SonyMakerNote::printHighISONoiseReduction2(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedShort) { + if (value.count() != 1 || value.typeId() != unsignedShort || !metadata) { os << "(" << value << ")"; return os; } @@ -1840,7 +1840,7 @@ std::ostream& SonyMakerNote::printSony2FpFocusMode(std::ostream& os, const Value std::ostream& SonyMakerNote::printSony2FpFocusPosition2(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1) + if (value.count() != 1 || !metadata) os << "(" << value << ")"; else { std::string model; @@ -1944,7 +1944,7 @@ const TagInfo* SonyMakerNote::tagListSonyMisc2b() { std::ostream& SonyMakerNote::printSonyMisc2bLensZoomPosition(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1) + if (value.count() != 1 || !metadata) return os << "(" << value << ")"; std::string model; @@ -1966,7 +1966,7 @@ std::ostream& SonyMakerNote::printSonyMisc2bLensZoomPosition(std::ostream& os, c std::ostream& SonyMakerNote::printSonyMisc2bFocusPosition2(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1) + if (value.count() != 1 || !metadata) return os << "(" << value << ")"; std::string model; @@ -2052,7 +2052,7 @@ const TagInfo* SonyMakerNote::tagListSonyMisc3c() { std::ostream& SonyMakerNote::printSonyMisc3cShotNumberSincePowerUp(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedLong) + if (value.count() != 1 || value.typeId() != unsignedLong || !metadata) return os << "(" << value << ")"; std::string model; @@ -2083,7 +2083,7 @@ std::ostream& SonyMakerNote::printSonyMisc3cSequenceNumber(std::ostream& os, con } std::ostream& SonyMakerNote::printSonyMisc3cQuality2(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) return os << "(" << value << ")"; std::string model; @@ -2108,7 +2108,7 @@ std::ostream& SonyMakerNote::printSonyMisc3cQuality2(std::ostream& os, const Val std::ostream& SonyMakerNote::printSonyMisc3cSonyImageHeight(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedShort) + if (value.count() != 1 || value.typeId() != unsignedShort || !metadata) return os << "(" << value << ")"; std::string model; @@ -2131,7 +2131,7 @@ std::ostream& SonyMakerNote::printSonyMisc3cSonyImageHeight(std::ostream& os, co std::ostream& SonyMakerNote::printSonyMisc3cModelReleaseYear(std::ostream& os, const Value& value, const ExifData* metadata) { - if (value.count() != 1 || value.typeId() != unsignedByte) + if (value.count() != 1 || value.typeId() != unsignedByte || !metadata) return os << "(" << value << ")"; std::string model;