ChangeLog, openfs.c:
  openfs.c (ext2fs_open): Check to make sure that the number of blocks
  	per group is not zero --- if so, it must be a bad superblock!

diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c
index 54aeedc..b0b433f 100644
--- a/lib/ext2fs/openfs.c
+++ b/lib/ext2fs/openfs.c
@@ -163,6 +163,10 @@
 	/*
 	 * Read group descriptors
 	 */
+	if ((EXT2_BLOCKS_PER_GROUP(fs->super)) == 0) {
+		retval = EXT2_ET_CORRUPT_SUPERBLOCK;
+		goto cleanup;
+	}
 	fs->group_desc_count = (fs->super->s_blocks_count -
 				fs->super->s_first_data_block +
 				EXT2_BLOCKS_PER_GROUP(fs->super) - 1)