summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/path.cc5
2 files changed, 10 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index de939fc61..948c9dbed 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 4 20:52:42 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * path.cc (path_conv::check): Return ENOTDIR when leading device and
+ trailing component.
+
Thu Oct 4 18:49:23 2001 Christopher Faylor <cgf@cygnus.com>
* syscalls.cc (stat_worker): Make global. Accept path_conv parameter
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index b2e1a7975..cc9d647dd 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -474,6 +474,11 @@ path_conv::check (const char *src, unsigned opt,
/* devn should not be a device. If it is, then stop parsing now. */
if (devn != FH_BAD)
{
+ if (component)
+ {
+ error = ENOTDIR;
+ return;
+ }
fileattr = 0;
goto out; /* Found a device. Stop parsing. */
}