summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-03-05 11:38:04 +0000
committerRoland McGrath <roland@gnu.org>2006-03-05 11:38:04 +0000
commit0b9b4d884213cb1838a9cb7b26eb668d59dcefb4 (patch)
tree101fff532e0c59ca6ce1896bca2ac25393c704d7
parenta935c3dc908c26b6ca87a4e892d03d84165d1e83 (diff)
* sysdeps/mach/hurd/fdopendir.c (__fdopendir): Use O_DIRECTORY
to force directory check.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/mach/hurd/fdopendir.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cc1edb7c47..d75bbcbd7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-05 Roland McGrath <roland@frob.com>
+
+ * sysdeps/mach/hurd/fdopendir.c (__fdopendir): Use O_DIRECTORY
+ to force directory check.
+
2006-03-04 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Make sure high bits
diff --git a/sysdeps/mach/hurd/fdopendir.c b/sysdeps/mach/hurd/fdopendir.c
index c9caac30d7..016f825f1d 100644
--- a/sysdeps/mach/hurd/fdopendir.c
+++ b/sysdeps/mach/hurd/fdopendir.c
@@ -40,7 +40,8 @@ __fdopendir (int fd)
/* Ensure that it's a directory. */
error_t err = HURD_FD_PORT_USE
(d, ({
- file_t dir = __file_name_lookup_under (port, "/", O_NOTRANS, 0);
+ file_t dir = __file_name_lookup_under (port, "/",
+ O_DIRECTORY | O_NOTRANS, 0);;
if (dir != MACH_PORT_NULL)
__mach_port_deallocate (__mach_task_self (), dir);
dir != MACH_PORT_NULL ? 0 : errno;