diff --git a/src/exif.cpp b/src/exif.cpp index 47330e1a27..70293f14cc 100644 --- a/src/exif.cpp +++ b/src/exif.cpp @@ -35,6 +35,7 @@ #include "types.hpp" #include "error.hpp" #include "basicio.hpp" +#include "safe_op.hpp" #include "tiffimage.hpp" #include "tiffimage_int.hpp" #include "tiffcomposite_int.hpp" // for Tag::root @@ -964,7 +965,7 @@ namespace { { long sum = 0; for (long i = 0; i < md.count(); ++i) { - sum += md.toLong(i); + sum = Safe::add(sum, md.toLong(i)); } return sum; } diff --git a/test/data/issue_2190_poc.jp2 b/test/data/issue_2190_poc.jp2 new file mode 100644 index 0000000000..3d4e94eebb Binary files /dev/null and b/test/data/issue_2190_poc.jp2 differ