tune2fs: Fix overflow of interval check
Add the check of maximum check interval.
s_checkinterval is 32bit variable, so it cannot be set more than 2^32.
Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 9d2b12c..7d5c092 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -1701,6 +1701,12 @@
printf(_("Setting reserved blocks gid to %lu\n"), resgid);
}
if (i_flag) {
+ if (interval >= (1ULL << 32)) {
+ com_err(program_name, 0,
+ _("interval between checks is too big (%lu)"),
+ interval);
+ exit(1);
+ }
sb->s_checkinterval = interval;
ext2fs_mark_super_dirty(fs);
printf(_("Setting interval between checks to %lu seconds\n"),