While dumping files during fsck, print_inode_info() didn't check
sanity of inode, so insane i_extra_isize could cause overflow
when printing i_addr, to avoid that, let's add a check condition.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
}
for (i = 0; i < ADDRS_PER_INODE(inode); i++) {
- block_t blkaddr = le32_to_cpu(inode->i_addr[i + ofs]);
+ block_t blkaddr;
char *flag = "";
+ if (i + ofs >= DEF_ADDRS_PER_INODE)
+ break;
+
+ blkaddr = le32_to_cpu(inode->i_addr[i + ofs]);
+
if (blkaddr == 0x0)
continue;
if (blkaddr == COMPRESS_ADDR)