diff options
| author | Kip Macy <kmacy@FreeBSD.org> | 2008-12-13 20:34:41 +0000 |
|---|---|---|
| committer | Kip Macy <kmacy@FreeBSD.org> | 2008-12-13 20:34:41 +0000 |
| commit | cdacee34685d9d7964afbb44fca2bea2e3ba46f6 (patch) | |
| tree | b0540d679965859dde0240b10686aeeeb3a9cd5f /sys/netinet | |
| parent | fe6320b468b1d2edc9cfb4ed60f975a4c1ff3e62 (diff) | |
Notes
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/ip_fw2.c | 5 |
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); |
