Module Name:    src
Committed By:   joerg
Date:           Thu Feb  3 21:45:32 UTC 2011

Modified Files:
        src/sys/compat/irix: irix_signal.c
        src/sys/compat/netbsd32: netbsd32_signal.c
        src/sys/compat/svr4: svr4_signal.c
        src/sys/kern: sys_sig.c

Log Message:
Explicitly initialize ucontext before calling getmcontext.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/sys/compat/irix/irix_signal.c
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_signal.c
cvs rdiff -u -r1.64 -r1.65 src/sys/compat/svr4/svr4_signal.c
cvs rdiff -u -r1.30 -r1.31 src/sys/kern/sys_sig.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/irix/irix_signal.c
diff -u src/sys/compat/irix/irix_signal.c:1.55 src/sys/compat/irix/irix_signal.c:1.56
--- src/sys/compat/irix/irix_signal.c:1.55	Fri Jan 14 02:06:33 2011
+++ src/sys/compat/irix/irix_signal.c	Thu Feb  3 21:45:31 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: irix_signal.c,v 1.55 2011/01/14 02:06:33 rmind Exp $ */
+/*	$NetBSD: irix_signal.c,v 1.56 2011/02/03 21:45:31 joerg Exp $ */
 
 /*-
  * Copyright (c) 1994, 2001-2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irix_signal.c,v 1.55 2011/01/14 02:06:33 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irix_signal.c,v 1.56 2011/02/03 21:45:31 joerg Exp $");
 
 #include <sys/types.h>
 #include <sys/signal.h>
@@ -707,6 +707,8 @@
 
 	f = (struct frame *)l->l_md.md_regs;
 
+	memset(&kucp, 0, sizeof(kucp));
+
 	kucp.iuc_flags = IRIX_UC_ALL;
 	kucp.iuc_link = NULL;		/* XXX */
 

Index: src/sys/compat/netbsd32/netbsd32_signal.c
diff -u src/sys/compat/netbsd32/netbsd32_signal.c:1.34 src/sys/compat/netbsd32/netbsd32_signal.c:1.35
--- src/sys/compat/netbsd32/netbsd32_signal.c:1.34	Fri Apr 23 15:19:20 2010
+++ src/sys/compat/netbsd32/netbsd32_signal.c	Thu Feb  3 21:45:31 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_signal.c,v 1.34 2010/04/23 15:19:20 rmind Exp $	*/
+/*	$NetBSD: netbsd32_signal.c,v 1.35 2011/02/03 21:45:31 joerg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.34 2010/04/23 15:19:20 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.35 2011/02/03 21:45:31 joerg Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -361,6 +361,8 @@
 	struct proc *p = l->l_proc;
 	ucontext32_t uc;
 
+	memset(&uc, 0, sizeof(uc));
+
 	mutex_enter(p->p_lock);
 	getucontext32(l, &uc);
 	mutex_exit(p->p_lock);

Index: src/sys/compat/svr4/svr4_signal.c
diff -u src/sys/compat/svr4/svr4_signal.c:1.64 src/sys/compat/svr4/svr4_signal.c:1.65
--- src/sys/compat/svr4/svr4_signal.c:1.64	Mon Apr 28 20:23:45 2008
+++ src/sys/compat/svr4/svr4_signal.c	Thu Feb  3 21:45:31 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: svr4_signal.c,v 1.64 2008/04/28 20:23:45 martin Exp $	 */
+/*	$NetBSD: svr4_signal.c,v 1.65 2011/02/03 21:45:31 joerg Exp $	 */
 
 /*-
  * Copyright (c) 1994, 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_signal.c,v 1.64 2008/04/28 20:23:45 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_signal.c,v 1.65 2011/02/03 21:45:31 joerg Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -462,6 +462,8 @@
 	svr4_ucontext_t uc;
 	*retval = 0;
 
+	memset(&uc, 0, sizeof(uc));
+
 	switch (SCARG(uap, func)) {
 	case SVR4_GETCONTEXT:
 		DPRINTF(("getcontext(%p)\n", SCARG(uap, uc)));

Index: src/sys/kern/sys_sig.c
diff -u src/sys/kern/sys_sig.c:1.30 src/sys/kern/sys_sig.c:1.31
--- src/sys/kern/sys_sig.c:1.30	Mon Jan 10 04:39:18 2011
+++ src/sys/kern/sys_sig.c	Thu Feb  3 21:45:32 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: sys_sig.c,v 1.30 2011/01/10 04:39:18 christos Exp $	*/
+/*	$NetBSD: sys_sig.c,v 1.31 2011/02/03 21:45:32 joerg Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.30 2011/01/10 04:39:18 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.31 2011/02/03 21:45:32 joerg Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -317,6 +317,8 @@
 	struct proc *p = l->l_proc;
 	ucontext_t uc;
 
+	memset(&uc, 0, sizeof(uc));
+
 	mutex_enter(p->p_lock);
 	getucontext(l, &uc);
 	mutex_exit(p->p_lock);

Reply via email to