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

Ken Brown kbrown@cornell.edu
Tue Sep 8 19:05:09 GMT 2020


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/<pid>/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


More information about the Cygwin-patches mailing list