From 005441faaa373f93f30adede374aa7a7c6c7476f Mon Sep 17 00:00:00 2001 From: Tsuda Kageyu Date: Fri, 28 Oct 2016 15:25:50 +0900 Subject: [PATCH] Prevent overflows, just in case. --- taglib/riff/rifffile.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/taglib/riff/rifffile.cpp b/taglib/riff/rifffile.cpp index 7ac2c034..f874f7ad 100644 --- a/taglib/riff/rifffile.cpp +++ b/taglib/riff/rifffile.cpp @@ -161,19 +161,19 @@ void RIFF::File::setChunkData(unsigned int i, const ByteVector &data) std::vector::iterator it = d->chunks.begin(); std::advance(it, i); - const int originalSize = it->size + it->padding; + const long long originalSize = static_cast(it->size) + it->padding; writeChunk(it->name, data, it->offset - 8, it->size + it->padding + 8); it->size = data.size(); - it->padding = data.size() % 1; + it->padding = data.size() % 2; - const int diff = it->size + it->padding - originalSize; + const long long diff = static_cast(it->size) + it->padding - originalSize; // Now update the internal offsets for(++it; it != d->chunks.end(); ++it) - it->offset += diff; + it->offset += static_cast(diff); // Update the global size.