ext4: add sanity check to ext4_get_group_info()
authorTheodore Ts'o <tytso@mit.edu>
Thu, 6 Jun 2013 15:16:43 +0000 (11:16 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 6 Jun 2013 15:16:43 +0000 (11:16 -0400)
The group number passed to ext4_get_group_info() should be valid, but
let's add an assert to check this before we start creating a pointer
based on that group number and dereferencing it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ext4.h

index bd9890f6d9ce59bb0dc1ef8f58ce12759bd7438b..f85f1fb49df8fec3f6edbd5fe6f7d11bdd02452a 100644 (file)
@@ -2313,6 +2313,7 @@ struct ext4_group_info *ext4_get_group_info(struct super_block *sb,
 {
         struct ext4_group_info ***grp_info;
         long indexv, indexh;
+        BUG_ON(group >= EXT4_SB(sb)->s_groups_count);
         grp_info = EXT4_SB(sb)->s_group_info;
         indexv = group >> (EXT4_DESC_PER_BLOCK_BITS(sb));
         indexh = group & ((EXT4_DESC_PER_BLOCK(sb)) - 1);