svn commit: r186023 - projects/arpv2_merge_1/sys/net

Kip Macy kmacy at FreeBSD.org
Fri Dec 12 21:28:20 PST 2008


Author: kmacy
Date: Sat Dec 13 05:28:19 2008
New Revision: 186023
URL: http://svn.freebsd.org/changeset/base/186023

Log:
  check lle against both NULL AND -1 to determine validity

Modified:
  projects/arpv2_merge_1/sys/net/if_llatbl.c
  projects/arpv2_merge_1/sys/net/if_llatbl.h

Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c
==============================================================================
--- projects/arpv2_merge_1/sys/net/if_llatbl.c	Sat Dec 13 04:52:57 2008	(r186022)
+++ projects/arpv2_merge_1/sys/net/if_llatbl.c	Sat Dec 13 05:28:19 2008	(r186023)
@@ -255,7 +255,7 @@ lla_rt_output(struct rt_msghdr *rtm, str
 	IF_AFDATA_LOCK(ifp);
 	lle = lla_lookup(llt, flags, dst);
 	IF_AFDATA_UNLOCK(ifp);
-	if (lle != NULL) {
+	if (LLE_IS_VALID(lle)) {
 		if (flags & LLE_CREATE) {
 			/*
 			 * If we delay the delete, then a subsequent

Modified: projects/arpv2_merge_1/sys/net/if_llatbl.h
==============================================================================
--- projects/arpv2_merge_1/sys/net/if_llatbl.h	Sat Dec 13 04:52:57 2008	(r186022)
+++ projects/arpv2_merge_1/sys/net/if_llatbl.h	Sat Dec 13 05:28:19 2008	(r186023)
@@ -83,6 +83,8 @@ struct llentry {
 #define	LLE_LOCK_INIT(lle)	rw_init_flags(&(lle)->lle_lock, "lle", RW_DUPOK)
 #define	LLE_WLOCK_ASSERT(lle)	rw_assert(&(lle)->lle_lock, RA_WLOCKED)
 
+#define LLE_IS_VALID(lle)	(((lle) != NULL) && ((lle) != (void *)-1))
+
 #define	LLE_ADDREF(lle) do {					\
 	LLE_WLOCK_ASSERT(lle);					\
 	KASSERT((lle)->lle_refcnt >= 0,				\


More information about the svn-src-projects mailing list