Compare filesize directly to the numeric max of size_t

pull/662/head
suzker 2016-05-25 07:43:57 -07:00
parent 43aea5c940
commit ef0a2e601f
1 changed files with 1 additions and 2 deletions

View File

@ -373,8 +373,7 @@ void AbstractDiskWriter::ensureMmapWrite(size_t len, int64_t offset)
return;
}
uint32_t filesize_lo = filesize & 0xffffffffu;
if (sizeof(off_t) > sizeof(size_t) && (filesize_lo) > 0) {
if (static_cast<uint64_t>(std::numeric_limits<size_t>::max()) < static_cast<uint64_t>(filesize)) {
// filesize could overflow in 32bit OS with 64bit off_t type
// the filesize will be truncated if provided as a 32bit size_t
enableMmap_ = false;