|
@@ -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;
|