From: Emoly Liu Date: Fri, 14 Jul 2023 00:59:58 +0000 (+1000) Subject: e2image: correct group descriptors size in ext2fs_image_super_read() X-Git-Tag: v1.47.1-rc1~52^2~6 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=633ab26eefe1b037eaba82d9a3555eb712c82345;p=tools%2Fe2fsprogs.git e2image: correct group descriptors size in ext2fs_image_super_read() In function ext2fs_image_super_read(), the size of block group descriptors should be (fs->blocksize * fs->desc_blocks), but not (fs->blocksize * fs->group_desc_count). Signed-off-by: Emoly Liu Reviewed-by: Andreas Dilger Link: https://lore.kernel.org/r/20230714005958.442487-1-dongyangli@ddn.com Signed-off-by: Theodore Ts'o --- diff --git a/lib/ext2fs/imager.c b/lib/ext2fs/imager.c index 23290a6..16b0977 100644 --- a/lib/ext2fs/imager.c +++ b/lib/ext2fs/imager.c @@ -299,7 +299,7 @@ errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd, ssize_t actual, size; errcode_t retval; - size = (ssize_t)fs->blocksize * (fs->group_desc_count + 1); + size = (ssize_t)fs->blocksize * (fs->desc_blocks + 1); buf = malloc(size); if (!buf) return ENOMEM; @@ -323,7 +323,7 @@ errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd, memcpy(fs->super, buf, SUPERBLOCK_SIZE); memcpy(fs->group_desc, buf + fs->blocksize, - (ssize_t)fs->blocksize * fs->group_desc_count); + (ssize_t)fs->blocksize * fs->desc_blocks); retval = 0;