Explicitly cast to 64bit integer when calculating filesystem size
Else the result may overflow on platforms that have 32bit long. Bug: 165925766 Test: Presubmit Change-Id: I3018f0bd9846651848bd9b3645f2eeaa5b61c646
This commit is contained in:
parent
ec1b09fca9
commit
67e3bbc7f6
1 changed files with 1 additions and 1 deletions
|
@ -194,7 +194,7 @@ bool fs_mgr_filesystem_has_space(const std::string& mount_point) {
|
|||
static constexpr unsigned long kSizeThreshold = 8 * 1024 * 1024; // 8MB
|
||||
|
||||
return (vst.f_bfree >= (vst.f_blocks * kPercentThreshold / 100)) &&
|
||||
(vst.f_bfree * vst.f_bsize) >= kSizeThreshold;
|
||||
(static_cast<uint64_t>(vst.f_bfree) * vst.f_frsize) >= kSizeThreshold;
|
||||
}
|
||||
|
||||
const auto kPhysicalDevice = "/dev/block/by-name/"s;
|
||||
|
|
Loading…
Reference in a new issue