From: Emoly Liu <emoly@xxxxxxxxxxxxx> 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 <emoly@xxxxxxxxxxxxx> --- lib/ext2fs/imager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ext2fs/imager.c b/lib/ext2fs/imager.c index 23290a6a..16b09770 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; -- 2.41.0