aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn F. Carr <jfc@mit.edu>2024-01-20 23:18:18 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2024-01-27 09:12:26 +0000
commit3ed143596029f4605354715c150381f2bbbc795f (patch)
treeb93970ee93b1dec503793bef009fe826fd986b65
parent72ef14799d4c084494078b56acefb0272419c519 (diff)
downloadsrc-3ed143596029f4605354715c150381f2bbbc795f.tar.gz
src-3ed143596029f4605354715c150381f2bbbc795f.zip
fsck_msdosfs: do not call checksize() if the cluster is bad
PR: 276464 (cherry picked from commit deeb1d34024b3f843d965cdf204c745165c9bac0)
-rw-r--r--sbin/fsck_msdosfs/dir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/fsck_msdosfs/dir.c b/sbin/fsck_msdosfs/dir.c
index be3d5ddc5425..fbd1929f17f4 100644
--- a/sbin/fsck_msdosfs/dir.c
+++ b/sbin/fsck_msdosfs/dir.c
@@ -982,7 +982,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;