aboutsummaryrefslogtreecommitdiff
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.zip
glibc-7f513ec8b3cd7816a897052bd472c0bfd553e910.tar.gz
glibc-7f513ec8b3cd7816a897052bd472c0bfd553e910.tar.bz2
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 91328e0..5b0d571 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 3288f18..66fa7e2 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)