summaryrefslogtreecommitdiff
path: root/ext2fs/ext2fs.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-13 21:22:24 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-13 21:24:16 +0100
commit54c0b9b9dbf72467f099291950680ff8270b02ad (patch)
tree867839d92f5a70d01493a5a26c7e23581aed9369 /ext2fs/ext2fs.h
parent5ff93bc7b5727024394a75defbabb0bff9a2820b (diff)
ext2fs: Trap trying to access bogus data areas
i.e. superblock, block group descriptor table or beyond the end.
Diffstat (limited to 'ext2fs/ext2fs.h')
-rw-r--r--ext2fs/ext2fs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext2fs/ext2fs.h b/ext2fs/ext2fs.h
index 99e93555..62ee9f77 100644
--- a/ext2fs/ext2fs.h
+++ b/ext2fs/ext2fs.h
@@ -405,6 +405,10 @@ bptr_offs (void *ptr)
#define group_desc(num) (&group_desc_image[num])
extern struct ext2_group_desc *group_desc_image;
+#define group_desc_block (boffs_block (SBLOCK_OFFS) + 1)
+#define group_desc_size (groups_count * sizeof(struct ext2_group_desc))
+#define group_desc_block_end (group_desc_block + boffs_block(round_block(group_desc_size)))
+
#define inode_group_num(inum) (((inum) - 1) / le32toh (sblock->s_inodes_per_group))
/* Forward declarations for the following functions that are usually