summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-09-14 00:07:50 +0000
committerChristopher Faylor <me@cgf.cx>2003-09-14 00:07:50 +0000
commite306c058c7fdf8802fa7ffcba5968546d89ddf12 (patch)
treead324e183d33f0e75b5646970bea075ffb3988d2 /winsup/cygwin/fhandler_disk_file.cc
parenta98a0011695d362f4f00b6ad66a30a2651c49e43 (diff)
downloadcygnal-e306c058c7fdf8802fa7ffcba5968546d89ddf12.tar.gz
cygnal-e306c058c7fdf8802fa7ffcba5968546d89ddf12.tar.bz2
cygnal-e306c058c7fdf8802fa7ffcba5968546d89ddf12.zip
* fhandler_disk_file.cc (path_conv::ndisk_links): Fix potential off-by-one
problem when first file in a directory is a directory.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index e8c66bba8..4fe7d1593 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -66,7 +66,7 @@ path_conv::ndisk_links (DWORD nNumberOfLinks)
if (nNumberOfLinks > 1)
saw_dot--;
else
- while (FindNextFileA (h, &buf))
+ do
{
if (buf.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
count++;
@@ -75,6 +75,7 @@ path_conv::ndisk_links (DWORD nNumberOfLinks)
|| (buf.cFileName[1] == '.' && buf.cFileName[2] == '\0')))
saw_dot--;
}
+ while (FindNextFileA (h, &buf));
FindClose (h);
}