https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6775ac8cb5adf6c945c5d09d957f21d2ca673aba
commit 6775ac8cb5adf6c945c5d09d957f21d2ca673aba Author: Ken Brown <[email protected]> Date: Tue Sep 8 12:23:32 2020 -0400 Cygwin: path_conv::check: handle error from fhandler_process::exists 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. Diff: --- 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)
