summaryrefslogtreecommitdiff
path: root/src/BitfieldMan.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-12-16 17:26:01 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-12-16 17:26:01 +0900
commit04586f50b17317ef257f6d3f81190021c93ad5ea (patch)
treeca77b10bdbbc5fb2f4aa652cc668838b7f254479 /src/BitfieldMan.cc
parentde1ca6d6b80c3784a788671977223a4c1bbf9a25 (diff)
Fixed BitfieldMan::getOffsetCompletedLength overflow on 32-bit systems
Diffstat (limited to 'src/BitfieldMan.cc')
-rw-r--r--src/BitfieldMan.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/BitfieldMan.cc b/src/BitfieldMan.cc
index b0f202d4..e3c033f9 100644
--- a/src/BitfieldMan.cc
+++ b/src/BitfieldMan.cc
@@ -863,7 +863,7 @@ int64_t BitfieldMan::getOffsetCompletedLength
}
} else {
if(isBitSet(start)) {
- res += (start+1)*blockLength_-offset;
+ res += static_cast<int64_t>(start+1)*blockLength_-offset;
}
for(size_t i = start+1; i <= end-1; ++i) {
if(isBitSet(i)) {
@@ -871,7 +871,7 @@ int64_t BitfieldMan::getOffsetCompletedLength
}
}
if(isBitSet(end)) {
- res += offset+length-end*blockLength_;
+ res += offset+length-static_cast<int64_t>(end)*blockLength_;
}
}
return res;