Blame SOURCES/exiv2-validation-of-size-and-offset-to-avoid-crash.patch

9d48aa
diff --git a/src/crwimage_int.cpp b/src/crwimage_int.cpp
9d48aa
index 29311fd..c0d9553 100644
9d48aa
--- a/src/crwimage_int.cpp
9d48aa
+++ b/src/crwimage_int.cpp
9d48aa
@@ -268,6 +268,9 @@ namespace Exiv2 {
9d48aa
 #ifdef EXIV2_DEBUG_MESSAGES
9d48aa
         std::cout << "Reading directory 0x" << std::hex << tag() << "\n";
9d48aa
 #endif
9d48aa
+        if (this->offset() + this->size() > size)
9d48aa
+            throw Error(kerOffsetOutOfRange);
9d48aa
+
9d48aa
         readDirectory(pData + offset(), this->size(), byteOrder);
9d48aa
 #ifdef EXIV2_DEBUG_MESSAGES
9d48aa
         std::cout << "<---- 0x" << std::hex << tag() << "\n";