svn commit: r186160 - head/sys/netinet6

Kip Macy kmacy at FreeBSD.org
Tue Dec 16 02:47:23 UTC 2008


Author: kmacy
Date: Tue Dec 16 02:47:22 2008
New Revision: 186160
URL: http://svn.freebsd.org/changeset/base/186160

Log:
  explicitly check return of lla_lookup against NULL

Modified:
  head/sys/netinet6/nd6.c
  head/sys/netinet6/nd6_nbr.c

Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c	Tue Dec 16 02:33:53 2008	(r186159)
+++ head/sys/netinet6/nd6.c	Tue Dec 16 02:47:22 2008	(r186160)
@@ -1433,14 +1433,14 @@ nd6_cache_lladdr(struct ifnet *ifp, stru
 	flags |= lladdr ? ND6_EXCLUSIVE : 0;
 	IF_AFDATA_LOCK(ifp);
 	ln = nd6_lookup(from, flags, ifp);
-	if (ln)
-		IF_AFDATA_UNLOCK(ifp);
+
 	if (ln == NULL) {
 		flags |= LLE_EXCLUSIVE;
 		ln = nd6_lookup(from, flags |ND6_CREATE, ifp);
 		IF_AFDATA_UNLOCK(ifp);
 		is_newentry = 1;
 	} else {
+		IF_AFDATA_UNLOCK(ifp);		
 		/* do nothing if static ndp is set */
 		if (ln->la_flags & LLE_STATIC) {
 			static_route = 1;
@@ -1604,7 +1604,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru
 		break;
 	}
 
-	if (ln) {
+	if (ln != NULL) {
 		static_route = (ln->la_flags & LLE_STATIC);
 		router = ln->ln_router;
 
@@ -1878,7 +1878,7 @@ nd6_output_lle(struct ifnet *ifp, struct
 	 * ln is valid and the caller did not pass in 
 	 * an llentry
 	 */
-	if (ln && (lle == NULL)) {
+	if ((ln != NULL) && (lle == NULL)) {
 		if (flags & LLE_EXCLUSIVE)
 			LLE_WUNLOCK(ln);
 		else
@@ -1909,7 +1909,7 @@ nd6_output_lle(struct ifnet *ifp, struct
 	 * ln is valid and the caller did not pass in 
 	 * an llentry
 	 */
-	if (ln && (lle == NULL)) {
+	if ((ln != NULL) && (lle == NULL)) {
 		if (flags & LLE_EXCLUSIVE)
 			LLE_WUNLOCK(ln);
 		else

Modified: head/sys/netinet6/nd6_nbr.c
==============================================================================
--- head/sys/netinet6/nd6_nbr.c	Tue Dec 16 02:33:53 2008	(r186159)
+++ head/sys/netinet6/nd6_nbr.c	Tue Dec 16 02:47:22 2008	(r186160)
@@ -474,7 +474,7 @@ nd6_ns_output(struct ifnet *ifp, const s
 		struct ip6_hdr *hip6;		/* hold ip6 */
 		struct in6_addr *hsrc = NULL;
 
-		if (ln && ln->la_hold) {
+		if ((ln != NULL) && ln->la_hold) {
 			/*
 			 * assuming every packet in la_hold has the same IP
 			 * header
@@ -878,7 +878,7 @@ nd6_na_input(struct mbuf *m, int off, in
 		}
 	}
  freeit:
-	if (ln) {
+	if (ln != NULL) {
 		if (chain)
 			memcpy(&sin6, L3_ADDR_SIN6(ln), sizeof(sin6));
 		LLE_WUNLOCK(ln);
@@ -890,7 +890,7 @@ nd6_na_input(struct mbuf *m, int off, in
 	return;
 
  bad:
-	if (ln)
+	if (ln != NULL)
 		LLE_WUNLOCK(ln);
 
 	V_icmp6stat.icp6s_badna++;


More information about the svn-src-head mailing list