If the number of entries in the bnode is 0, the bnode is considered invalid. Reported-by: syzbot+41ba9c82bce8d7101765@xxxxxxxxxxxxxxxxxxxxxxxxx Closes: https://syzkaller.appspot.com/bug?extid=41ba9c82bce8d7101765 Tested-by: syzbot+41ba9c82bce8d7101765@xxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Edward Adam Davis <eadavis@xxxxxx> --- fs/hfs/bfind.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/hfs/bfind.c b/fs/hfs/bfind.c index ef9498a6e88a..1d6f2bbafa7a 100644 --- a/fs/hfs/bfind.c +++ b/fs/hfs/bfind.c @@ -133,6 +133,8 @@ int hfs_brec_find(struct hfs_find_data *fd) goto invalid; if (bnode->type != (--height ? HFS_NODE_INDEX : HFS_NODE_LEAF)) goto invalid; + if (!bnode->num_recs) + goto invalid; bnode->parent = parent; res = __hfs_brec_find(bnode, fd); -- 2.43.0