Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2001-07-20 11:24:02 +0400
committerCorinna Vinschen <corinna@vinschen.de>2001-07-20 11:24:02 +0400
commit1801eae1b11202bbdcfc1fc30fa270ab3083bc6f (patch)
tree58be01e481a911e470bc6d6c20309575ef3530aa
parentaea57aa057b8d61aa220c17089a02fcfac4b7ec3 (diff)
* dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE.
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/dir.cc4
2 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 1d5061c70..bfcd8f013 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+Fri 20 Jul 2001 09:15:00 Mark Bradshaw <bradshaw@staff.crosswalk.com>
+
+ * dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE.
+
Wed 18 Jul 2001 01:00:47 PM EDT Christopher Faylor <cgf@cygnus.com>
* cygheap.cc (_cmalloc): Use correct constants for size calculation.
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index f55cbe31e..db11c8fdd 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -159,6 +159,10 @@ readdir (DIR * dir)
return res;
}
}
+ else if (dir->__d_u.__d_data.__handle == INVALID_HANDLE_VALUE)
+ {
+ return res;
+ }
else if (!FindNextFileA (dir->__d_u.__d_data.__handle, &buf))
{
DWORD lasterr = GetLastError ();