Whamcloud - gitweb
resize2fs: check for bogus new_size
authorEric Sandeen <sandeen@redhat.com>
Fri, 10 Oct 2008 22:38:15 +0000 (17:38 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 13 Oct 2008 03:12:22 +0000 (23:12 -0400)
If we don't check for new_size == 0, bogus values send resize2fs into
a tailspin:

resize2fs 1.41.0 (10-Jul-2008)
Illegal block number passed to ext2fs_test_block_bitmap #1 for block bitmap for
/tmp/tmp.lntZtMFvz8/fake-disk
...the same message repeated zillion times...

Probably should see where that loop is, but at any rate we should
error-check parse_num_blocks.

Thanks to Petr Muller for reporting this.

Addresses-Red-Hat-Bugzilla: #465984

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
resize/main.c

index d6ecd8b..3de333e 100644 (file)
@@ -376,6 +376,11 @@ int main (int argc, char ** argv)
        else if (new_size_str) {
                new_size = parse_num_blocks(new_size_str,
                                            fs->super->s_log_block_size);
+               if (new_size == 0) {
+                       com_err(program_name, 0,
+                               _("Invalid new size: %s\n"), new_size_str);
+                       exit(1);
+               }
        } else {
                new_size = max_size;
                /* Round down to an even multiple of a pagesize */