aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-03-14 09:14:17 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-03-14 09:14:17 +0000
commit91b3d1ed7aec39914dd7d2746c4670a354fe3b77 (patch)
tree0c0ea7ecfd9062b2a9f392785fc386a4c7423ca5
parent9636c4262e16846fb595d1fffa711ca4aa70dc47 (diff)
downloadnewlib-91b3d1ed7aec39914dd7d2746c4670a354fe3b77.zip
newlib-91b3d1ed7aec39914dd7d2746c4670a354fe3b77.tar.gz
newlib-91b3d1ed7aec39914dd7d2746c4670a354fe3b77.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 2ff87cb..71998f1 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);