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 ();