Author: delphij
Date: Tue Jun 11 22:21:29 2019
New Revision: 348967
URL: https://svnweb.freebsd.org/changeset/base/348967
Log:
Avoid out of boundary access when checking invalid long filenames.
Obtained from: OpenBSD (dir.c,v 1.25)
MFC after: 3 days
Modified:
head/sbin/fsck_msdosfs/dir.c
Modified: head/sbin/fsck_msdosfs/dir.c
==============================================================================
--- head/sbin/fsck_msdosfs/dir.c Tue Jun 11 22:07:39 2019
(r348966)
+++ head/sbin/fsck_msdosfs/dir.c Tue Jun 11 22:21:29 2019
(r348967)
@@ -629,6 +629,15 @@ readDosDirSection(int f, struct bootblock *boot, struc
vallfn = NULL;
}
lidx = *p & LRNOMASK;
+ if (lidx == 0) {
+ pwarn("invalid long name\n");
+ if (!invlfn) {
+ invlfn = vallfn;
+ invcl = valcl;
+ }
+ vallfn = NULL;
+ continue;
+ }
t = longName + --lidx * 13;
for (k = 1; k < 11 && t < longName +
sizeof(longName); k += 2) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"