diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2021-02-10 10:39:03 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2021-02-10 10:42:38 +0100 |
commit | d0e0a59e7880739abe47bf217ee958c6233c6ef7 (patch) | |
tree | c407a8072697188572cf8118eabefe51375f5322 | |
parent | 5f0913df13f227aa8087ed39ae1ac5ddf98e5671 (diff) | |
download | cygnal-d0e0a59e7880739abe47bf217ee958c6233c6ef7.tar.gz cygnal-d0e0a59e7880739abe47bf217ee958c6233c6ef7.tar.bz2 cygnal-d0e0a59e7880739abe47bf217ee958c6233c6ef7.zip |
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>
-rw-r--r-- | winsup/cygwin/path.h | 7 |
1 files 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; } |