Module Name:    src
Committed By:   mrg
Date:           Fri Aug 18 21:05:44 UTC 2023

Modified Files:
        src/sys/fs/msdosfs: msdosfs_vnops.c

Log Message:
fix the previous to not fail to include the extension in lookups.

copy deExtension into the final 3 bytes.  previously, this was found
by having them next to each other in the containing structure, but as
separate strings.

thanks to miod for pointing this out.


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/sys/fs/msdosfs/msdosfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/msdosfs/msdosfs_vnops.c
diff -u src/sys/fs/msdosfs/msdosfs_vnops.c:1.111 src/sys/fs/msdosfs/msdosfs_vnops.c:1.112
--- src/sys/fs/msdosfs/msdosfs_vnops.c:1.111	Mon Aug 14 05:41:09 2023
+++ src/sys/fs/msdosfs/msdosfs_vnops.c	Fri Aug 18 21:05:44 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: msdosfs_vnops.c,v 1.111 2023/08/14 05:41:09 mrg Exp $	*/
+/*	$NetBSD: msdosfs_vnops.c,v 1.112 2023/08/18 21:05:44 mrg Exp $	*/
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.111 2023/08/14 05:41:09 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.112 2023/08/18 21:05:44 mrg Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1168,7 +1168,10 @@ msdosfs_readdir(void *v)
 
 				memcpy(deName, dentp->deName,
 				       sizeof dentp->deName);
-				memset(&deName[8], 0, 3);
+				memcpy(deName + 8, dentp->deExtension,
+				       sizeof dentp->deExtension);
+				assert(sizeof(deName) == sizeof(dentp->deName) +
+					sizeof(dentp->deExtension));
 				dirbuf->d_namlen =
 				    msdosfs_dos2unixfn(deName,
 				        (u_char *)dirbuf->d_name,

Reply via email to