Module Name: src Committed By: nonaka Date: Thu Jun 30 09:34:01 UTC 2016
Modified Files: src/sys/fs/msdosfs: msdosfs_conv.c Log Message: Fix false positives when comparing long file names that have the same first 13 (or some multiple thereof) characters. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/fs/msdosfs/msdosfs_conv.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_conv.c diff -u src/sys/fs/msdosfs/msdosfs_conv.c:1.16 src/sys/fs/msdosfs/msdosfs_conv.c:1.17 --- src/sys/fs/msdosfs/msdosfs_conv.c:1.16 Sun Mar 6 07:33:25 2016 +++ src/sys/fs/msdosfs/msdosfs_conv.c Thu Jun 30 09:34:01 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: msdosfs_conv.c,v 1.16 2016/03/06 07:33:25 mlelstv Exp $ */ +/* $NetBSD: msdosfs_conv.c,v 1.17 2016/06/30 09:34:01 nonaka Exp $ */ /*- * Copyright (C) 1995, 1997 Wolfgang Solfrank. @@ -58,7 +58,7 @@ #endif #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: msdosfs_conv.c,v 1.16 2016/03/06 07:33:25 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: msdosfs_conv.c,v 1.17 2016/06/30 09:34:01 nonaka Exp $"); /* * System include files. @@ -621,6 +621,8 @@ winChkName(const u_char *un, int unlen, if (i >= len + 1) return -1; + if ((wep->weCnt & WIN_LAST) && (len - i > WIN_CHARS)) + return -1; /* * Fetch name segment from directory entry