summaryrefslogtreecommitdiff
path: root/fs/isofs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-11-06 16:40:48 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-11-06 16:40:48 -0700
commitd8b4e5bd4889e6568e8c3db983b4320f06091594 (patch)
treeeead3597abe6cc4ebfbef4e8c90b535144ae3b74 /fs/isofs
parent00f178e15095fbcf04db00486378a6fa416a125e (diff)
parent81dedaf10c20959bdf5624f9783f408df26ba7a4 (diff)
Merge tag 'fs_for_v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull quota, isofs, and reiserfs updates from Jan Kara: "Fixes for handling of corrupted quota files, fix for handling of corrupted isofs filesystem, and a small cleanup for reiserfs" * tag 'fs_for_v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: fs: reiserfs: remove useless new_opts in reiserfs_remount isofs: Fix out of bound access for corrupted isofs image quota: correct error number in free_dqentry() quota: check block number when reading the block in quota file
Diffstat (limited to 'fs/isofs')
-rw-r--r--fs/isofs/inode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 678e2c51b855..0c6eacfcbeef 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -1322,6 +1322,8 @@ static int isofs_read_inode(struct inode *inode, int relocated)
de = (struct iso_directory_record *) (bh->b_data + offset);
de_len = *(unsigned char *) de;
+ if (de_len < sizeof(struct iso_directory_record))
+ goto fail;
if (offset + de_len > bufsize) {
int frag1 = bufsize - offset;