summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYi-Yo Chiang <yochiang@google.com>2021-10-27 12:08:12 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-10-27 12:08:12 +0000
commit6a58c592699aa94f6b06c1a5baf412bcfefda8a4 (patch)
treeb6585c4b1ae1e8dc0aa7c004ff966196eb0d354d
parentaf97deddb1f4e08508f063ff0686c857af390c1d (diff)
parentfb62a719a27cc654b42cde7d9e8b0b28e24190a2 (diff)
downloadcore-android-s-v2-preview-1.tar.gz
-rw-r--r--fs_mgr/fs_mgr_fstab.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp
index ad321f05e..609bd11d7 100644
--- a/fs_mgr/fs_mgr_fstab.cpp
+++ b/fs_mgr/fs_mgr_fstab.cpp
@@ -130,10 +130,12 @@ void ParseMountFlags(const std::string& flags, FstabEntry* entry) {
if (auto equal_sign = flag.find('='); equal_sign != std::string::npos) {
const auto arg = flag.substr(equal_sign + 1);
if (entry->fs_type == "f2fs" && StartsWith(flag, "reserve_root=")) {
- if (!ParseInt(arg, &entry->reserved_size)) {
+ off64_t size_in_4k_blocks;
+ if (!ParseInt(arg, &size_in_4k_blocks, static_cast<off64_t>(0),
+ std::numeric_limits<off64_t>::max() >> 12)) {
LWARNING << "Warning: reserve_root= flag malformed: " << arg;
} else {
- entry->reserved_size <<= 12;
+ entry->reserved_size = size_in_4k_blocks << 12;
}
} else if (StartsWith(flag, "lowerdir=")) {
entry->lowerdir = std::move(arg);