diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-08-20 14:29:56 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-08-20 14:29:56 +0000 |
commit | a6fc3a61c2364a54c676a452589a82b6432f8823 (patch) | |
tree | db15769fd5f9c7a6570d1cbd747ca4abf887fe14 /winsup/cygwin | |
parent | 74f50846a9d97cfcce2f1d784f2a67c6f889d716 (diff) | |
download | newlib-a6fc3a61c2364a54c676a452589a82b6432f8823.zip newlib-a6fc3a61c2364a54c676a452589a82b6432f8823.tar.gz newlib-a6fc3a61c2364a54c676a452589a82b6432f8823.tar.bz2 |
* path.cc (path_conv::check): Close handle in conv_handle if we're
following a symlink.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 7ec9799..5053b4e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2010-08-20 Corinna Vinschen <corinna@vinschen.de> + + * path.cc (path_conv::check): Close handle in conv_handle if we're + following a symlink. + 2010-08-20 Pedro Izecksohn <pedro.izecksohn@gmail.com> * endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh, diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index fb4526f..deefc77 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) |