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-29 17:57:12 +0000
commit8facf7082d4973aedc30cdd8e90fbd33beb17d7f (patch)
treedc8f4e99aefd0c1329ff660438ae1e9d47043dcf
parent09dfa60b58e8a4dcbb82e2060a1f23cadb504474 (diff)
downloadsrc-8facf7082d4973aedc30cdd8e90fbd33beb17d7f.tar.gz
src-8facf7082d4973aedc30cdd8e90fbd33beb17d7f.zip
ext2fs: check for eh_depth in ext4_ext_check_header()
PR: 259112 Reported by: Robert Morris <rtm@lcs.mit.edu> Reviewed by: fsu (src) Differential Revision: https://reviews.freebsd.org/D33030 (cherry picked from commit be60d8f276fa20fc11ad814e54c9c2540f79c7da)
-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 61c751e9af5e..ba95b8a6f3ae 100644
--- a/sys/fs/ext2fs/ext2_extents.c
+++ b/sys/fs/ext2fs/ext2_extents.c
@@ -250,6 +250,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);