From 49cdefd3312c5ac81ec5d233d62441281ad26e55 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Fri, 28 Dec 2012 18:26:12 -0500 Subject: [PATCH] mke2fs: fix crash when parsing "-E resize=NNN" with "-O 64bit" If the 64-bit file system feature is enabled, then mke2fs would crash due to a divide-by-zero error caused by s_desc_size not being initialized yet. Reported-by: George Spelvin Signed-off-by: "Theodore Ts'o" --- misc/mke2fs.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/misc/mke2fs.c b/misc/mke2fs.c index 7ec8cc2..0f9a299 100644 --- a/misc/mke2fs.c +++ b/misc/mke2fs.c @@ -1873,6 +1873,14 @@ profile_error: blocksize = EXT2_BLOCK_SIZE(&fs_param); + /* + * Initialize s_desc_size so that the parse_extended_opts() + * can correctly handle "-E resize=NNN" if the 64-bit option + * is set. + */ + if (fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) + fs_param.s_desc_size = EXT2_MIN_DESC_SIZE_64BIT; + /* This check should happen beyond the last assignment to blocksize */ if (blocksize > sys_page_size) { if (!force) { -- 1.8.3.1