Module Name:    src
Committed By:   abs
Date:           Mon Jun 25 17:25:29 UTC 2012

Modified Files:
        src/sys/netinet6: nd6_rtr.c

Log Message:
Some fun in trying to work out what was broken with gcc-4.1 to
trigger the following warning when gcc-4.5 was silent:
  nd6_rtr.c: In function 'nd6_ra_input':
  nd6_rtr.c:788: warning: 'ext' may be used uninitialized in this function
Eventually determined that it was not unreasonable for gcc-4.1 to
bleat in this case as there is a nasty 'goto insert' which could
indeed have resulted in an uninitialised variable use. Yay gcc 4.1.


To generate a diff of this commit:
cvs rdiff -u -r1.83 -r1.84 src/sys/netinet6/nd6_rtr.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/netinet6/nd6_rtr.c
diff -u src/sys/netinet6/nd6_rtr.c:1.83 src/sys/netinet6/nd6_rtr.c:1.84
--- src/sys/netinet6/nd6_rtr.c:1.83	Sat Jun 23 03:14:04 2012
+++ src/sys/netinet6/nd6_rtr.c	Mon Jun 25 17:25:29 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: nd6_rtr.c,v 1.83 2012/06/23 03:14:04 christos Exp $	*/
+/*	$NetBSD: nd6_rtr.c,v 1.84 2012/06/25 17:25:29 abs Exp $	*/
 /*	$KAME: nd6_rtr.c,v 1.95 2001/02/07 08:09:47 itojun Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nd6_rtr.c,v 1.83 2012/06/23 03:14:04 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nd6_rtr.c,v 1.84 2012/06/25 17:25:29 abs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -744,6 +744,7 @@ static struct nd_defrouter *
 defrtrlist_update(struct nd_defrouter *new)
 {
 	struct nd_defrouter *dr, *n;
+	struct in6_ifextra *ext = new->ifp->if_afdata[AF_INET6];
 	int s = splsoftnet();
 
 	if ((dr = defrouter_lookup(&new->rtaddr, new->ifp)) != NULL) {
@@ -785,7 +786,6 @@ defrtrlist_update(struct nd_defrouter *n
 		return (dr);
 	}
 
-	struct in6_ifextra *ext = new->ifp->if_afdata[AF_INET6];
 	if (ip6_maxifdefrouters >= 0 &&
 	    ext->ndefrouters >= ip6_maxifdefrouters) {
 		splx(s);

Reply via email to