summaryrefslogtreecommitdiffstats
path: root/source/l/exiv2/patches/3664f5b8.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/exiv2/patches/3664f5b8.patch')
-rw-r--r--source/l/exiv2/patches/3664f5b8.patch275
1 files changed, 275 insertions, 0 deletions
diff --git a/source/l/exiv2/patches/3664f5b8.patch b/source/l/exiv2/patches/3664f5b8.patch
new file mode 100644
index 000000000..4a14765b7
--- /dev/null
+++ b/source/l/exiv2/patches/3664f5b8.patch
@@ -0,0 +1,275 @@
+From 360c6cd41f15baf6d999da12e1fc077180f5da91 Mon Sep 17 00:00:00 2001
+From: Kevin Backhouse <kevinbackhouse@github.com>
+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 2887c1b621..949023d00e 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 f2950c4608..2fe62bdbf2 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 <kevinbackhouse@github.com>
+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 2fe62bdbf2..a2cde2282c 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;