git: deeb1d34024b - main - fsck_msdosfs: do not call checksize() if the cluster is bad

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Sat, 20 Jan 2024 23:21:29 UTC
The branch main has been updated by kib:

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

commit deeb1d34024b3f843d965cdf204c745165c9bac0
Author:     John F. Carr <jfc@mit.edu>
AuthorDate: 2024-01-20 23:18:18 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2024-01-20 23:20:24 +0000

    fsck_msdosfs: do not call checksize() if the cluster is bad
    
    PR:     276464
    MFC after:      1 week
---
 sbin/fsck_msdosfs/dir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sbin/fsck_msdosfs/dir.c b/sbin/fsck_msdosfs/dir.c
index c60eaab59b12..19516d882e2a 100644
--- a/sbin/fsck_msdosfs/dir.c
+++ b/sbin/fsck_msdosfs/dir.c
@@ -995,7 +995,7 @@ readDosDirSection(struct fat_descriptor *fat, struct dosDirEntry *dir)
 				n->next = pendingDirectories;
 				n->dir = d;
 				pendingDirectories = n;
-			} else {
+			} else if (!(mod & FSERROR)) {
 				mod |= k = checksize(fat, p, &dirent);
 				if (k & FSDIRMOD)
 					mod |= THISMOD;