Convert use of ext2fs_get_mem to ext2fs_get_array for overflow detection

Add some additional checks, primarily in resize2fs and in the rarely
used (and soon to-be-deprecated) e2fsck byte-swap filesystem function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff --git a/e2fsck/swapfs.c b/e2fsck/swapfs.c
index fb7270c..9df1d11 100644
--- a/e2fsck/swapfs.c
+++ b/e2fsck/swapfs.c
@@ -119,7 +119,7 @@
 
 	e2fsck_use_inode_shortcuts(ctx, 1);
 	
-	retval = ext2fs_get_mem(fs->blocksize * fs->inode_blocks_per_group,
+	retval = ext2fs_get_array(fs->blocksize, fs->inode_blocks_per_group,
 				&buf);
 	if (retval) {
 		com_err("swap_inodes", retval,
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index 06ba9a2..e1ae89d 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -1019,6 +1019,7 @@
 	memcpy(ptr, &pp, sizeof (pp));
 	return 0;
 }
+
 _INLINE_ errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr)
 {
 	if (count && (-1UL)/count<size)
diff --git a/resize/extent.c b/resize/extent.c
index bf53d12..ca2c68c 100644
--- a/resize/extent.c
+++ b/resize/extent.c
@@ -49,7 +49,7 @@
 	extent->num = 0;
 	extent->sorted = 1;
 
-	retval = ext2fs_get_mem(sizeof(struct ext2_extent_entry) *
+	retval = ext2fs_get_array(sizeof(struct ext2_extent_entry),
 				extent->size, &extent->list);
 	if (retval) {
 		ext2fs_free_mem(&extent);
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 0d6a082..473a74c 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -481,7 +481,7 @@
 	/*
 	 * Initialize the new block group descriptors
 	 */
-	retval = ext2fs_get_mem(fs->blocksize * fs->inode_blocks_per_group,
+	retval = ext2fs_get_array(fs->blocksize, fs->inode_blocks_per_group,
 				&rfs->itable_buf);
 	if (retval)
 		goto errout;
@@ -917,7 +917,7 @@
 
 	new_blk = fs->super->s_first_data_block;
 	if (!rfs->itable_buf) {
-		retval = ext2fs_get_mem(fs->blocksize *
+		retval = ext2fs_get_array(fs->blocksize,
 					fs->inode_blocks_per_group,
 					&rfs->itable_buf);
 		if (retval)
@@ -1138,7 +1138,7 @@
 
 	retval = ext2fs_init_dblist(rfs->old_fs, 0);
 	if (retval) goto errout;
-	retval = ext2fs_get_mem(rfs->old_fs->blocksize * 3, &block_buf);
+	retval = ext2fs_get_array(rfs->old_fs->blocksize, 3, &block_buf);
 	if (retval) goto errout;
 
 	start_to_move = (rfs->new_fs->group_desc_count *