diff options
author | Takashi Yano <takashi.yano@nifty.ne.jp> | 2023-08-14 13:48:12 +0300 |
---|---|---|
committer | Takashi Yano <takashi.yano@nifty.ne.jp> | 2023-08-16 02:34:25 +0300 |
commit | efba30dd1d4cf3db6df7f7bc7ee13775c577f1a1 (patch) | |
tree | a587cfafc9c9eee0b17514134f20ae92eaee6f68 /winsup | |
parent | d2354ee412391111f3cb7408a10d9a6af72fe048 (diff) |
Cygwin: pty: Add missing pinfo check in transfer_input().
The commit 10d083c745dd has a bug that lacks a check for pinfo pointer
value for master_pid. This causes segmentation fault if the process
whose pid is master_pid no longer exists. This patch fixes the issue.
Fixes: 10d083c745dd ("Cygwin: pty: Inherit typeahead data between two input pipes.")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/fhandler/pty.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc index e9d9b351d..df37d9189 100644 --- a/winsup/cygwin/fhandler/pty.cc +++ b/winsup/cygwin/fhandler/pty.cc @@ -3886,7 +3886,9 @@ fhandler_pty_slave::transfer_input (tty::xfer_dir dir, HANDLE from, tty *ttyp, to = ttyp->to_slave (); pinfo p (ttyp->master_pid); - HANDLE pty_owner = OpenProcess (PROCESS_DUP_HANDLE, FALSE, p->dwProcessId); + HANDLE pty_owner = NULL; + if (p) + pty_owner = OpenProcess (PROCESS_DUP_HANDLE, FALSE, p->dwProcessId); if (pty_owner) { DuplicateHandle (pty_owner, to, GetCurrentProcess (), &to, |