https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=46077e809d15ea008576b305799e476ee80d5474

commit 46077e809d15ea008576b305799e476ee80d5474
Author: Corinna Vinschen <[email protected]>
Date:   Wed Apr 22 13:26:37 2015 +0200

    Fix closing too many handles in pty fchown/fchmod
    
        * fhandler_tty.cc (fhandler_pty_slave::fch_close_handles): Don't close
        handles not opened via fhandler_pty_slave::fch_open_handles.
    
    
    Signed-off-by: Corinna Vinschen <[email protected]>

Diff:
---
 winsup/cygwin/ChangeLog       | 5 +++++
 winsup/cygwin/fhandler_tty.cc | 3 ---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 400b67e..ee7b7a4 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-22  Corinna Vinschen  <[email protected]>
+
+       * fhandler_tty.cc (fhandler_pty_slave::fch_close_handles): Don't close
+       handles not opened via fhandler_pty_slave::fch_open_handles.
+
 2015-04-22  Takashi Yano  <[email protected]>
 
        * fhandler.h (class fhandler_base): Add virtual function
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index d6b2e19..e91b3e3 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1140,9 +1140,6 @@ fhandler_pty_slave::fch_set_sd (security_descriptor &sd, 
bool chown)
 void
 fhandler_pty_slave::fch_close_handles ()
 {
-  close_maybe (get_io_handle ());
-  close_maybe (get_output_handle ());
-  close_maybe (get_output_handle_cyg ());
   close_maybe (input_available_event);
   close_maybe (output_mutex);
   close_maybe (input_mutex);

Reply via email to