diff options
author | Christopher Faylor <me@cgf.cx> | 2012-03-29 17:34:55 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-03-29 17:34:55 +0000 |
commit | d46ed263afc680ce6a7f84114a3014b84e447987 (patch) | |
tree | b6eccf83810654d87686da9d0e863ed050699515 | |
parent | 60ecc3d68b188766e53dd314b40a0eb1192425ae (diff) | |
download | cygnal-d46ed263afc680ce6a7f84114a3014b84e447987.tar.gz cygnal-d46ed263afc680ce6a7f84114a3014b84e447987.tar.bz2 cygnal-d46ed263afc680ce6a7f84114a3014b84e447987.zip |
* fhandler_console.cc (fhandler_console::set_unit): Don't succeed unless we are
opening a console actually associated with this process.
-rw-r--r-- | winsup/cygwin/ChangeLog | 7 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 47001a029..bff0e57f6 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,6 +1,11 @@ +2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx> + + * fhandler_console.cc (fhandler_console::set_unit): Don't succeed + unless we are opening a console actually associated with this process. + 2012-03-29 Corinna Vinschen <corinna@vinschen.de> - * sec_acl.cc (acl32): Fix potnetial crash if build_fh_name returns NULL. + * sec_acl.cc (acl32): Fix potential crash if build_fh_name returns NULL. 2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx> diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index a3553a728..5be7111ff 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -135,6 +135,7 @@ fhandler_console::set_unit () bool created; fh_devices devset; lock_ttys here; + HWND me; if (shared_console_info) { fh_devices this_unit = dev (); @@ -146,9 +147,14 @@ fhandler_console::set_unit () || this_unit == FH_TTY) ? shared_unit : FH_ERROR; } + else if ((myself->ctty != -1 && !iscons_dev (myself->ctty)) + || !(me = GetConsoleWindow ())) + { + created = false; + devset = FH_ERROR; + } else { - HWND me = GetConsoleWindow (); created = true; shared_console_info = open_shared_console (me, cygheap->console_h, created); ProtectHandleINH (cygheap->console_h); |