summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-12-12 15:32:45 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-12-12 15:32:45 +0000
commite52961c4030158894204a75c004da23a3d42ac0d (patch)
tree4f35ea618db516d7aaff4757c2be81b6009d441e
parentf646aeb049c3ea0f157337484907f984746f4648 (diff)
downloadcygnal-e52961c4030158894204a75c004da23a3d42ac0d.tar.gz
cygnal-e52961c4030158894204a75c004da23a3d42ac0d.tar.bz2
cygnal-e52961c4030158894204a75c004da23a3d42ac0d.zip
* syscalls.cc (check_dir_not_empty): Never count more than 3 directory
entries.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/syscalls.cc11
2 files changed, 10 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 1de5dee9f..06ce36314 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (check_dir_not_empty): Never count more than 3 directory
+ entries.
+
2010-12-12 Christopher Faylor <me+cygwin@cgf.cx>
* init.cc (search_for): Put this in shared section or suffer subtle
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index eeb998aaf..c38671f39 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -514,14 +514,13 @@ check_dir_not_empty (HANDLE dir)
int cnt = 1;
while (pfni->NextEntryOffset)
{
+ if (++cnt > 2)
+ {
+ syscall_printf ("Directory not empty");
+ return STATUS_DIRECTORY_NOT_EMPTY;
+ }
pfni = (PFILE_NAMES_INFORMATION)
((caddr_t) pfni + pfni->NextEntryOffset);
- ++cnt;
- }
- if (cnt > 2)
- {
- syscall_printf ("Directory not empty");
- return STATUS_DIRECTORY_NOT_EMPTY;
}
return STATUS_SUCCESS;
}