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:56:42 +0000
commit5c50e93e6ce43e8558e043de0745bad889c3a77f (patch)
tree70cb30b78d9c8968a8fe5694c2d081710a7f7b56
parent23566768d92aed2a59d3e5d9392824cbe83b867f (diff)
downloadsrc-5c50e93e6ce43e8558e043de0745bad889c3a77f.tar.gz
src-5c50e93e6ce43e8558e043de0745bad889c3a77f.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 1a5dca66dd76..b33ff9fa8a1a 100644
--- a/sys/fs/ext2fs/ext2_extents.c
+++ b/sys/fs/ext2fs/ext2_extents.c
@@ -251,6 +251,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);