From 7f5fcad2880828bc6555e2482593082d1c984d93 Mon Sep 17 00:00:00 2001 From: Matteo Semenzato Date: Wed, 30 Sep 2020 23:51:41 +0200 Subject: [PATCH] Fix wrong sizeof in the ext4 bgd branch --- limine.bin | Bin 32768 -> 32768 bytes stage2/fs/ext2.c | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/limine.bin b/limine.bin index feb697a16e4ecc67668556659d0e071fb7cb405d..7bb8c3ad97040f9dcd5a9de19f7c591eea4ba509 100644 GIT binary patch delta 21801 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 delta 21801 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 diff --git a/stage2/fs/ext2.c b/stage2/fs/ext2.c index e8fa4572..16da0c19 100644 --- a/stage2/fs/ext2.c +++ b/stage2/fs/ext2.c @@ -182,11 +182,11 @@ static int ext2_get_inode(struct ext2_inode *ret, uint64_t drive, struct part *p const uint64_t block_size = ((uint64_t)1024 << sb->s_log_block_size); uint64_t ino_offset; const uint64_t bgd_start_offset = block_size >= 2048 ? block_size : block_size * 2; - const uint64_t bgd_offset = bgd_start_offset + (sizeof(struct ext2_bgd) * ino_blk_grp); const uint64_t ino_size = sb->s_rev_level == 0 ? sizeof(struct ext2_inode) : sb->s_inode_size; if (!bit64) { struct ext2_bgd target_descriptor; + const uint64_t bgd_offset = bgd_start_offset + (sizeof(struct ext2_bgd) * ino_blk_grp); read_partition(drive, part, &target_descriptor, bgd_offset, sizeof(struct ext2_bgd)); @@ -194,6 +194,7 @@ static int ext2_get_inode(struct ext2_inode *ret, uint64_t drive, struct part *p (ino_size * ino_tbl_idx); } else { struct ext4_bgd target_descriptor; + const uint64_t bgd_offset = bgd_start_offset + (sizeof(struct ext4_bgd) * ino_blk_grp); read_partition(drive, part, &target_descriptor, bgd_offset, sizeof(struct ext4_bgd));