summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-06-14 21:16:41 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-06-14 21:16:41 +0000
commitd955b6cfd8b2377a33659048429cdb62f6bf1d32 (patch)
treed1331e801bf79ee51d22d4725c161cef047d628c /winsup
parentb775136014a6202dfd497ab927bc4df380da8d0b (diff)
downloadcygnal-d955b6cfd8b2377a33659048429cdb62f6bf1d32.tar.gz
cygnal-d955b6cfd8b2377a33659048429cdb62f6bf1d32.tar.bz2
cygnal-d955b6cfd8b2377a33659048429cdb62f6bf1d32.zip
* path.cc (path_conv::check): Return with ENOTDIR if component is a
device.
Diffstat (limited to 'winsup')
-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 3c7e8d1db..04f36a4fa 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2010-06-14 Corinna Vinschen <corinna@vinschen.de>
+ * path.cc (path_conv::check): Return with ENOTDIR if component is a
+ device.
+
+2010-06-14 Corinna Vinschen <corinna@vinschen.de>
+
* dlfcn.cc (get_full_path_of_dll): Revert patch from 2010-04-29.
2010-06-12 Christopher Faylor <me+cygwin@cgf.cx>
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d5d103d9f..8ea7e97f1 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -829,6 +829,11 @@ is_virtual_symlink:
if (sym.isdevice)
{
+ if (component)
+ {
+ error = ENOTDIR;
+ return;
+ }
dev.parse (sym.major, sym.minor);
dev.setfs (1);
dev.mode = sym.mode;