aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeel Chauhan <nc@FreeBSD.org>2021-11-17 00:25:04 +0000
committerNeel Chauhan <nc@FreeBSD.org>2021-11-18 17:54:42 +0000
commitbe60d8f276fa20fc11ad814e54c9c2540f79c7da (patch)
treec8cdd56da6f301a9f445d187945fe320f4d877fc
parent9dae2d03bc644be38196cf76c55039af1a7c1ba6 (diff)
downloadsrc-be60d8f276fa20fc11ad814e54c9c2540f79c7da.tar.gz
src-be60d8f276fa20fc11ad814e54c9c2540f79c7da.zip
ext2fs: check for eh_depth in ext4_ext_check_header()
PR: 259112 Reported by: Robert Morris <rtm@lcs.mit.edu> Reviewed by: fsu MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D33030
-rw-r--r--sys/fs/ext2fs/ext2_extents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/fs/ext2fs/ext2_extents.c b/sys/fs/ext2fs/ext2_extents.c
index 2a3ffbd0e860..408f1a27ae76 100644
--- a/sys/fs/ext2fs/ext2_extents.c
+++ b/sys/fs/ext2fs/ext2_extents.c
@@ -297,6 +297,10 @@ ext4_ext_check_header(struct inode *ip, struct ext4_extent_header *eh)
error_msg = "header: invalid eh_entries";
goto corrupted;
}
+ if (eh->eh_depth > 5) {
+ error_msg = "header: invalid eh_depth";
+ goto corrupted;
+ }
return (0);