about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--login/forkpty.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 338380a18b..01e9b4bb1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+	[BZ #4813]
+	* login/forkpty.c (forkpty): Close master and slave fds on
+	fork failure.  Patch by
+	Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>.
+
 2007-07-18  Jakub Jelinek  <jakub@redhat.com>
 
 	* include/features.h (__USE_ISOC95): New define.
@@ -11,8 +18,6 @@
 	* sysdeps/ia64/sched_cpucount.c: New file.
 	* sysdeps/powerpc/sched_cpucount.c: New file.
 
-2007-07-17  Jakub Jelinek  <jakub@redhat.com>
-
 	* sysdeps/unix/sysv/linux/bits/sched.h (__sched_cpucount): Add
 	__BEGIN_DECLS/__END_DECLS around the prototype.
 	* bits/sched.h (__sched_cpucount): Likewise.  Make second argument
diff --git a/login/forkpty.c b/login/forkpty.c
index ff87fd031d..ccd5dbfe0e 100644
--- a/login/forkpty.c
+++ b/login/forkpty.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
 
@@ -38,6 +38,8 @@ forkpty (amaster, name, termp, winp)
   switch (pid = fork ())
     {
     case -1:
+      close (master);
+      close (slave);
       return -1;
     case 0:
       /* Child.  */