diff options
-rw-r--r-- | ext2fs/getblk.c | 7 |
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; |