Re: [PATCH v2 2/3] Cygwin: path_conv::check: handle error from fhandler_process::exists

2020-09-08 Thread Corinna Vinschen
On Sep  8 15:05, Ken Brown via Cygwin-patches wrote:
> On 9/8/2020 3:02 PM, Ken Brown via Cygwin-patches wrote:
> > fhandler_process::exists is called when we are checking a path
> > starting with "/proc//fd".  If it returns virt_none and sets an
> > errno, there is no need for further checking.  Just set 'error' and
> > return.
> > ---
> >   winsup/cygwin/path.cc | 9 +
> >   1 file changed, 9 insertions(+)
> > 
> > diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
> > index 95faf8ca7..1d0c38a20 100644
> > --- a/winsup/cygwin/path.cc
> > +++ b/winsup/cygwin/path.cc
> > @@ -809,6 +809,15 @@ path_conv::check (const char *src, unsigned opt,
> >   delete fh;
> >   goto retry_fs_via_processfd;
> > }
> > + else if (file_type == virt_none && dev == FH_PROCESSFD)
> > +   {
> > + error = get_errno ();
> > + if (error)
> > +   {
> > + delete fh;
> > + return;
> > +   }
> > +   }
> >   delete fh;
> > }
> >   switch (file_type)
> > 
> 
> The subject should say "2/2", not "2/3".  I have a local third patch
> documenting the bug fix, which I didn't bother to send.

ACk to both patches, 2 and 3 ;)


Corinna


Re: [PATCH v2 2/3] Cygwin: path_conv::check: handle error from fhandler_process::exists

2020-09-08 Thread Ken Brown via Cygwin-patches

On 9/8/2020 3:02 PM, Ken Brown via Cygwin-patches wrote:

fhandler_process::exists is called when we are checking a path
starting with "/proc//fd".  If it returns virt_none and sets an
errno, there is no need for further checking.  Just set 'error' and
return.
---
  winsup/cygwin/path.cc | 9 +
  1 file changed, 9 insertions(+)

diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 95faf8ca7..1d0c38a20 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -809,6 +809,15 @@ path_conv::check (const char *src, unsigned opt,
  delete fh;
  goto retry_fs_via_processfd;
}
+ else if (file_type == virt_none && dev == FH_PROCESSFD)
+   {
+ error = get_errno ();
+ if (error)
+   {
+ delete fh;
+ return;
+   }
+   }
  delete fh;
}
  switch (file_type)



The subject should say "2/2", not "2/3".  I have a local third patch documenting 
the bug fix, which I didn't bother to send.


Ken


[PATCH v2 2/3] Cygwin: path_conv::check: handle error from fhandler_process::exists

2020-09-08 Thread Ken Brown via Cygwin-patches
fhandler_process::exists is called when we are checking a path
starting with "/proc//fd".  If it returns virt_none and sets an
errno, there is no need for further checking.  Just set 'error' and
return.
---
 winsup/cygwin/path.cc | 9 +
 1 file changed, 9 insertions(+)

diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 95faf8ca7..1d0c38a20 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -809,6 +809,15 @@ path_conv::check (const char *src, unsigned opt,
  delete fh;
  goto retry_fs_via_processfd;
}
+ else if (file_type == virt_none && dev == FH_PROCESSFD)
+   {
+ error = get_errno ();
+ if (error)
+   {
+ delete fh;
+ return;
+   }
+   }
  delete fh;
}
  switch (file_type)
-- 
2.28.0