summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roots.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/roots.cpp b/roots.cpp
index 6e5ef9810..727736b70 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -232,14 +232,14 @@ int format_volume(const char* volume, const char* directory) {
<< ") not supported on " << v->fs_type;
return -1;
}
- char *num_sectors;
- if (asprintf(&num_sectors, "%zd", length / 512) <= 0) {
+ char *num_sectors = nullptr;
+ if (length >= 512 && asprintf(&num_sectors, "%zd", length / 512) <= 0) {
LOG(ERROR) << "format_volume: failed to create " << v->fs_type
<< " command for " << v->blk_device;
return -1;
}
const char *f2fs_path = "/sbin/mkfs.f2fs";
- const char* const f2fs_argv[] = {"mkfs.f2fs", "-t", "-d1", v->blk_device, num_sectors, NULL};
+ const char* const f2fs_argv[] = {"mkfs.f2fs", "-t", "-d1", v->blk_device, num_sectors, nullptr};
result = exec_cmd(f2fs_path, (char* const*)f2fs_argv);
free(num_sectors);