summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-08-20 14:29:56 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-08-20 14:29:56 +0000
commita6fc3a61c2364a54c676a452589a82b6432f8823 (patch)
treedb15769fd5f9c7a6570d1cbd747ca4abf887fe14 /winsup/cygwin/path.cc
parent74f50846a9d97cfcce2f1d784f2a67c6f889d716 (diff)
downloadcygnal-a6fc3a61c2364a54c676a452589a82b6432f8823.tar.gz
cygnal-a6fc3a61c2364a54c676a452589a82b6432f8823.tar.bz2
cygnal-a6fc3a61c2364a54c676a452589a82b6432f8823.zip
* path.cc (path_conv::check): Close handle in conv_handle if we're
following a symlink.
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index fb4526fd5..deefc7791 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -900,6 +900,9 @@ is_virtual_symlink:
/* Following a symlink we can't trust the collected filesystem
information any longer. */
fs.clear ();
+ /* Close handle, if we have any. Otherwise we're collecting
+ handles while following symlinks. */
+ conv_handle.close ();
break;
}
else if (sym.error && sym.error != ENOENT)