From 49b4670e5c794f3c0f6f5df61dfa199d6cc7de65 Mon Sep 17 00:00:00 2001 From: Manish Katiyar Date: Fri, 11 Jul 2008 17:45:07 -0400 Subject: [PATCH] libext2fs: Add stricter/earlier tests for blocksize in ext2fs_open() Signed-off-by: "Manish Katiyar" Signed-off-by: "Theodore Ts'o" --- lib/ext2fs/openfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c index fc54afed..525693ec 100644 --- a/lib/ext2fs/openfs.c +++ b/lib/ext2fs/openfs.c @@ -232,11 +232,12 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, } } - fs->blocksize = EXT2_BLOCK_SIZE(fs->super); - if (fs->blocksize == 0) { + if ((fs->super->s_log_block_size + EXT2_MIN_BLOCK_LOG_SIZE) > + EXT2_MAX_BLOCK_LOG_SIZE) { retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; } + fs->blocksize = EXT2_BLOCK_SIZE(fs->super); if (EXT2_INODE_SIZE(fs->super) < EXT2_GOOD_OLD_INODE_SIZE) { retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; -- 2.11.0