From: Ken Brown Date: Tue, 8 Sep 2020 16:23:32 +0000 (-0400) Subject: Cygwin: path_conv::check: handle error from fhandler_process::exists X-Git-Tag: newlib-4.0.0~103 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=6775ac8cb5adf6c945c5d09d957f21d2ca673aba;p=newlib-cygwin.git Cygwin: path_conv::check: handle error from fhandler_process::exists 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. --- 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)