Detect integer-overflow and throw in that case

main
Luis Díaz Más 3 years ago
parent 3ee193f12f
commit bd68c14de5

@ -14,6 +14,7 @@
#include "config.h" #include "config.h"
#include "error.hpp" #include "error.hpp"
#include "metadatum.hpp" #include "metadatum.hpp"
#include "safe_op.hpp"
#include "tags.hpp" #include "tags.hpp"
#include "tags_int.hpp" #include "tags_int.hpp"
#include "tiffcomposite_int.hpp" // for Tag::root #include "tiffcomposite_int.hpp" // for Tag::root
@ -741,7 +742,7 @@ Exiv2::DataBuf JpegThumbnail::copy(const Exiv2::ExifData& exifData) const {
int64_t sumToLong(const Exiv2::Exifdatum& md) { int64_t sumToLong(const Exiv2::Exifdatum& md) {
int64_t sum = 0; int64_t sum = 0;
for (size_t i = 0; i < md.count(); ++i) { for (size_t i = 0; i < md.count(); ++i) {
sum += md.toInt64(i); sum = Safe::add(sum, md.toInt64(i));
} }
return sum; return sum;
} }

Loading…
Cancel
Save