[newlib-cygwin] Cygwin: check path_conv_handle for NULL before trying to dup it
Corinna Vinschen
corinna@sourceware.org
Wed Feb 10 09:52:07 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d0e0a59e7880739abe47bf217ee958c6233c6ef7
commit d0e0a59e7880739abe47bf217ee958c6233c6ef7
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Wed Feb 10 10:39:03 2021 +0100
Cygwin: check path_conv_handle for NULL before trying to dup it
path_conv_handle::dup calls DuplicateHandle unconditionally,
but we only have a handle in some cases. Check handle for being
non-NULL before calling DuplicateHandle.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/path.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h
index 33e7fdf6a..fe4dd5478 100644
--- a/winsup/cygwin/path.h
+++ b/winsup/cygwin/path.h
@@ -105,9 +105,10 @@ public:
}
inline void dup (const path_conv_handle &pch)
{
- if (!DuplicateHandle (GetCurrentProcess (), pch.handle (),
- GetCurrentProcess (), &hdl,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
+ if (pch.handle ()
+ && !DuplicateHandle (GetCurrentProcess (), pch.handle (),
+ GetCurrentProcess (), &hdl,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
hdl = NULL;
}
inline HANDLE handle () const { return hdl; }
More information about the Cygwin-cvs
mailing list