From 3eb0fa1342d0b24e14ff06361e7b8a71c4441b06 Mon Sep 17 00:00:00 2001 From: maxim Date: Sun, 26 Aug 2007 18:38:31 +0000 Subject: o Fix bug I introduced in the previous commit (ipfw set extention): pack a set number correctly. Submitted by: oleg o Plug a memory leak. Submitted by: oleg and Andrey V. Elsukov Approved by: re (kensmith) MFC after: 1 week --- sys/netinet/ip_fw2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/netinet/ip_fw2.c b/sys/netinet/ip_fw2.c index 576da69..b4cb78c 100644 --- a/sys/netinet/ip_fw2.c +++ b/sys/netinet/ip_fw2.c @@ -4404,7 +4404,8 @@ ipfw_getrules(struct ip_fw_chain *chain, void *buf, size_t space) * store set number into high word of * dst->rule pointer. */ - bcopy(&(p->rule->set), &dst->rule + + bcopy(&(p->rule->set), + (char *)&dst->rule + sizeof(p->rule->rulenum), sizeof(p->rule->set)); /* @@ -5042,6 +5043,8 @@ ipfw_destroy(void) reap_rules(reap); IPFW_DYN_LOCK_DESTROY(); uma_zdestroy(ipfw_dyn_rule_zone); + if (ipfw_dyn_v != NULL) + free(ipfw_dyn_v, M_IPFW); IPFW_LOCK_DESTROY(&layer3_chain); #ifdef INET6 -- cgit v1.1