Cygwin: drop path_conv::reset_conv_handle

path_conv::reset_conv_handle is only called after fhandler::copyto
has been called.  This duplicated the path_conv_handle if there was
one, so just setting the conv handle to NULL potentially produces a
handle leak.  Replace reset_conv_handle calls with calls to
close_conv_handle and drop the reset_conv_handle method.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2021-02-10 10:37:13 +01:00
parent c875ed3744
commit 5f0913df13
3 changed files with 2 additions and 3 deletions

View File

@ -687,7 +687,7 @@ dtable::dup_worker (fhandler_base *oldfh, int flags)
if (!oldfh->archetype)
newfh->set_handle (NULL);
newfh->pc.reset_conv_handle ();
newfh->pc.close_conv_handle ();
if (oldfh->dup (newfh, flags))
{
delete newfh;

View File

@ -98,7 +98,7 @@ fhandler_pipe::open (int flags, mode_t mode)
continue;
cfd->copyto (this);
set_handle (NULL);
pc.reset_conv_handle ();
pc.close_conv_handle ();
if (!cfd->dup (this, flags))
return 1;
return 0;

View File

@ -406,7 +406,6 @@ class path_conv
return conv_handle.get_finfo (h, fs.is_nfs ());
}
inline ino_t get_ino () const { return conv_handle.get_ino (fs.is_nfs ()); }
void reset_conv_handle () { conv_handle.set (NULL); }
void close_conv_handle () { conv_handle.close (); }
ino_t get_ino_by_handle (HANDLE h);