summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc6
2 files changed, 8 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index a013038ef..d880a71ab 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2002-03-21 Christopher Faylor <cgf@redhat.com>
+ * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Always set
+ st_[ug]id to value derived from get_file_attributes.
+
+2002-03-21 Christopher Faylor <cgf@redhat.com>
+
* spawn.cc (find_exec): Return input if file not found.
2002-03-19 Boris Schaeling <boriss@web.de>
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index c251ed3cf..151b8ae42 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -281,9 +281,6 @@ fhandler_disk_file::fstat_helper (struct __stat64 *buf)
if (!(buf->st_mode & S_IFMT))
buf->st_mode |= S_IFREG;
-
- buf->st_uid = uid;
- buf->st_gid = gid;
}
else
{
@@ -338,6 +335,9 @@ fhandler_disk_file::fstat_helper (struct __stat64 *buf)
}
}
+ buf->st_uid = uid;
+ buf->st_gid = gid;
+
syscall_printf ("0 = fstat (, %p) st_atime=%x st_size=%D, st_mode=%p, st_ino=%d, sizeof=%d",
buf, buf->st_atime, buf->st_size, buf->st_mode,
(int) buf->st_ino, sizeof (*buf));