summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-12-16 02:47:22 +0000
committerkmacy <kmacy@FreeBSD.org>2008-12-16 02:47:22 +0000
commitbf113303e635962d4c68f57b287dbfe18a3ee38e (patch)
tree184f5dd8d47f1a245ccc0f153b9c19e8eddfb51a /sys/netinet6
parented9ff236d567bc0c6dec9c1cb8d03b25bcc58f06 (diff)
downloadFreeBSD-src-bf113303e635962d4c68f57b287dbfe18a3ee38e.zip
FreeBSD-src-bf113303e635962d4c68f57b287dbfe18a3ee38e.tar.gz
explicitly check return of lla_lookup against NULL
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/nd6.c10
-rw-r--r--sys/netinet6/nd6_nbr.c6
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index 898af79..fae9816 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -1433,14 +1433,14 @@ nd6_cache_lladdr(struct ifnet *ifp, struct in6_addr *from, char *lladdr,
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, struct in6_addr *from, char *lladdr,
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 ifnet *origifp, struct mbuf *m0,
* 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 ifnet *origifp, struct mbuf *m0,
* 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
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c
index 2dcabdb..c1cb423 100644
--- a/sys/netinet6/nd6_nbr.c
+++ b/sys/netinet6/nd6_nbr.c
@@ -474,7 +474,7 @@ nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6,
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, int icmp6len)
}
}
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, int icmp6len)
return;
bad:
- if (ln)
+ if (ln != NULL)
LLE_WUNLOCK(ln);
V_icmp6stat.icp6s_badna++;
OpenPOWER on IntegriCloud