From: Theodore Ts'o Date: Tue, 17 Jun 2008 04:18:58 +0000 (-0400) Subject: ext2fs_zero_blocks: Avoid clearing more blocks than requested X-Git-Tag: v1.41-WIP-0617~5 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=bc507e31ad8a890232dc2b3aec9ee9d68e95622a;p=tools%2Fe2fsprogs.git ext2fs_zero_blocks: Avoid clearing more blocks than requested This could cause certain mke2fs feature combinations to result in the initial blocks of the inode table getting wiped out when the journal is created. Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c index ca8e733..e55dcbd 100644 --- a/lib/ext2fs/mkjournal.c +++ b/lib/ext2fs/mkjournal.c @@ -170,9 +170,11 @@ errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num, /* OK, do the write loop */ j=0; while (j < num) { - if (blk % STRIDE_LENGTH) + if (blk % STRIDE_LENGTH) { count = STRIDE_LENGTH - (blk % STRIDE_LENGTH); - else { + if (count > (num - j)) + count = num - j; + } else { count = num - j; if (count > STRIDE_LENGTH) count = STRIDE_LENGTH;