diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2ff87cb80..71998f1df 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-03-14 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Only use + file id as inode number if it masters the isgood_inode check. + 2011-03-13 Christopher Faylor <me.cygwin2011@cgf.cx> * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index cb85fee0d..89283590b 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -383,7 +383,8 @@ fhandler_base::fstat_by_handle (struct __stat64 *buf) status, pc.get_nt_native_path ()); return -1; } - ino = fii.FileId.QuadPart; + else if (pc.isgood_inode (fii.FileId.QuadPart)) + ino = fii.FileId.QuadPart; } } return fstat_helper (buf, fsi.NumberOfLinks); |