svn commit: r345897 - head/sbin/fsck_msdosfs

Xin LI delphij at FreeBSD.org
Thu Apr 4 23:34:04 UTC 2019


Author: delphij
Date: Thu Apr  4 23:34:03 2019
New Revision: 345897
URL: https://svnweb.freebsd.org/changeset/base/345897

Log:
  Restore lfcl when LOSTDIR's chain was corrupted and overwritten
  with invalid value.
  
  Obtained from:	Android https://android.googlesource.com/platform/external/fsck_msdos/+/4d6d6f8a3674ad67f970e2ae908d34f64e4854cf%5E%21/
  MFC after:	2 weeks

Modified:
  head/sbin/fsck_msdosfs/dir.c

Modified: head/sbin/fsck_msdosfs/dir.c
==============================================================================
--- head/sbin/fsck_msdosfs/dir.c	Thu Apr  4 23:32:27 2019	(r345896)
+++ head/sbin/fsck_msdosfs/dir.c	Thu Apr  4 23:34:03 2019	(r345897)
@@ -973,6 +973,7 @@ reconnect(int dosfs, struct bootblock *boot, struct fa
 		if (lfcl < CLUST_FIRST || lfcl >= boot->NumClusters) {
 			/* Extend LOSTDIR?				XXX */
 			pwarn("No space in %s\n", LOSTDIR);
+			lfcl = (lostDir->head < boot->NumClusters) ? lostDir->head : 0;
 			return FSERROR;
 		}
 		lfoff = lfcl * boot->ClusterSize


More information about the svn-src-all mailing list