git: be60d8f276fa - main - ext2fs: check for eh_depth in ext4_ext_check_header()

From: Neel Chauhan <nc_at_FreeBSD.org>
Date: Thu, 18 Nov 2021 17:54:33 UTC
The branch main has been updated by nc (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=be60d8f276fa20fc11ad814e54c9c2540f79c7da

commit be60d8f276fa20fc11ad814e54c9c2540f79c7da
Author:     Neel Chauhan <nc@FreeBSD.org>
AuthorDate: 2021-11-17 00:25:04 +0000
Commit:     Neel Chauhan <nc@FreeBSD.org>
CommitDate: 2021-11-18 17:54:42 +0000

    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
---
 sys/fs/ext2fs/ext2_extents.c | 4 ++++
 1 file changed, 4 insertions(+)

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);