about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <mcgrathr@chromium.org>2011-09-08 09:37:42 -0700
committerRoland McGrath <mcgrathr@chromium.org>2011-09-08 09:37:42 -0700
commit7f513ec8b3cd7816a897052bd472c0bfd553e910 (patch)
treedae1f71556edba5057b639a5cd1b1f200f666b31
parent610f9ab43eb24b8e94d0067d2c785ab4fdc411dc (diff)
downloadglibc-7f513ec8b3cd7816a897052bd472c0bfd553e910.tar.gz
glibc-7f513ec8b3cd7816a897052bd472c0bfd553e910.tar.xz
glibc-7f513ec8b3cd7816a897052bd472c0bfd553e910.zip
Hurd: fix use of uninitialized value in fork port copying.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/mach/hurd/fork.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 91328e0483..5b0d57146e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
+2011-09-08  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/mach/hurd/fork.c (__fork): Initialize REFS so we don't use a
+	garbage value in a __mach_port_mod_refs call in the cases of the
+	task-self and thread-self ports.
+
 2011-09-08  Andreas Schwab  <schwab@redhat.com>
 
-	* elf/dl-load.c (lose): Check for non-null l.
+	* elf/dl-load.c (lose): Check for non-null L.
 
 2011-09-07  Ulrich Drepper  <drepper@gmail.com>
 
diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c
index 3288f186e5..66fa7e27bc 100644
--- a/sysdeps/mach/hurd/fork.c
+++ b/sysdeps/mach/hurd/fork.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994,1995,1996,1997,1999,2001,2002,2004,2005,2006
+/* Copyright (C) 1994,1995,1996,1997,1999,2001,2002,2004,2005,2006,2011
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -313,7 +313,7 @@ __fork (void)
 	    {
 	      /* This is a send right or a dead name.
 		 Give the child as many references for it as we have.  */
-	      mach_port_urefs_t refs, *record_refs = NULL;
+	      mach_port_urefs_t refs = 0, *record_refs = NULL;
 	      mach_port_t insert;
 	      mach_msg_type_name_t insert_type = MACH_MSG_TYPE_COPY_SEND;
 	      if (portnames[i] == newtask || portnames[i] == newproc)