summaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorKip Macy <kmacy@FreeBSD.org>2008-12-13 20:34:41 +0000
committerKip Macy <kmacy@FreeBSD.org>2008-12-13 20:34:41 +0000
commitcdacee34685d9d7964afbb44fca2bea2e3ba46f6 (patch)
treeb0540d679965859dde0240b10686aeeeb3a9cd5f /sys/netinet
parentfe6320b468b1d2edc9cfb4ed60f975a4c1ff3e62 (diff)
Notes
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_fw2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/ip_fw2.c b/sys/netinet/ip_fw2.c
index 5d5da9f803d5..e91fc9bfad8b 100644
--- a/sys/netinet/ip_fw2.c
+++ b/sys/netinet/ip_fw2.c
@@ -1814,6 +1814,7 @@ add_table_entry(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr,
INIT_VNET_IPFW(curvnet);
struct radix_node_head *rnh;
struct table_entry *ent;
+ struct radix_node *rn;
if (tbl >= IPFW_TABLES_MAX)
return (EINVAL);
@@ -1827,9 +1828,9 @@ add_table_entry(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr,
ent->addr.sin_addr.s_addr = addr & ent->mask.sin_addr.s_addr;
IPFW_WLOCK(ch);
RADIX_NODE_HEAD_LOCK(rnh);
- if (rnh->rnh_addaddr(&ent->addr, &ent->mask, rnh, (void *)ent) ==
+ rn = rnh->rnh_addaddr(&ent->addr, &ent->mask, rnh, (void *)ent);
RADIX_NODE_HEAD_UNLOCK(rnh);
- NULL) {
+ if (rn == NULL) {
IPFW_WUNLOCK(ch);
free(ent, M_IPFW_TBL);
return (EEXIST);