aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-03-14 09:34:57 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-03-14 09:34:57 +0000
commita187a96cccd342203b47c7b436d3813e430935d7 (patch)
tree43dec2583531c1218126956862251bfb6d9041a1
parent328dfc170c9ec76610bab75ddda452fe65ff6c6c (diff)
downloadnewlib-a187a96cccd342203b47c7b436d3813e430935d7.zip
newlib-a187a96cccd342203b47c7b436d3813e430935d7.tar.gz
newlib-a187a96cccd342203b47c7b436d3813e430935d7.tar.bz2
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Only use
file id as inode number if it masters the isgood_inode check.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 303da1f..5badac9 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 cb85fee..8928359 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);