diff options
author | Christopher Faylor <me@cgf.cx> | 2003-09-14 00:07:50 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-09-14 00:07:50 +0000 |
commit | e306c058c7fdf8802fa7ffcba5968546d89ddf12 (patch) | |
tree | ad324e183d33f0e75b5646970bea075ffb3988d2 /winsup/cygwin/fhandler_disk_file.cc | |
parent | a98a0011695d362f4f00b6ad66a30a2651c49e43 (diff) | |
download | cygnal-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.cc | 3 |
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); } |