summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext2fs/getblk.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext2fs/getblk.c b/ext2fs/getblk.c
index 7c94d87f..26ac145e 100644
--- a/ext2fs/getblk.c
+++ b/ext2fs/getblk.c
@@ -130,7 +130,12 @@ inode_getblk (struct node *node, int nr, int create, int zero,
*result = diskfs_node_disknode (node)->info.i_data[nr];
if (*result)
- return 0;
+ {
+ /* Trap trying to access superblock, block group descriptor table, or beyond the end */
+ assert_backtrace (*result >= group_desc_block_end
+ && *result < store->size >> log2_block_size);
+ return 0;
+ }
if (!create)
return EINVAL;