From 6d416a43af507f4a1f3a0683580b349e6ed50a69 Mon Sep 17 00:00:00 2001 From: corinna Date: Fri, 14 Aug 2009 18:27:18 +0000 Subject: [PATCH] * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length check for ".." dir. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler_disk_file.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2473cf962a..b1137280eb 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2009-08-14 Corinna Vinschen + * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length + check for ".." dir. + +2009-08-14 Corinna Vinschen + * fhandler_disk_file.cc (fhandler_disk_file::readdir): Change comment to be fair. diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 2c476e4828..5e66ae96e1 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1971,7 +1971,7 @@ go_ahead: come first. */ if (FileNameLength == sizeof (WCHAR) && FileName[0] == '.') de->d_ino = get_ino_by_handle (pc, get_handle ()); - else if (FileNameLength == sizeof (WCHAR) + else if (FileNameLength == 2 * sizeof (WCHAR) && FileName[0] == L'.' && FileName[1] == L'.') { if (!(dir->__flags & dirent_isroot)) -- 2.11.0