diff -aup ./a/netfilter/iptcrdr.c ./b/netfilter/iptcrdr.c --- ./a/netfilter/iptcrdr.c 2009-09-21 03:00:07.000000000 -0700 +++ ./b/netfilter/iptcrdr.c 2009-09-21 02:58:06.000000000 -0700 @@ -415,11 +415,21 @@ delete_redirect_and_filter_rules(unsigne if(h) { r = delete_rule_and_commit(index, h, miniupnpd_nat_chain, "delete_redirect_rule"); +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif } h = iptc_init("filter"); if(h && (r == 0)) { r = delete_rule_and_commit(index, h, miniupnpd_forward_chain, "delete_filter_rule"); +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif } } del_redirect_desc(eport, proto); @@ -509,6 +519,11 @@ iptc_init_verify_and_append(const char * { syslog(LOG_ERR, "%s : iptc_is_chain() error : %s\n", logcaller, iptc_strerror(errno)); +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif return -1; } #ifdef IPTABLES_143 @@ -519,6 +534,11 @@ iptc_init_verify_and_append(const char * { syslog(LOG_ERR, "%s : iptc_append_entry() error : %s\n", logcaller, iptc_strerror(errno)); +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif return -1; } #ifdef IPTABLES_143 @@ -529,8 +549,18 @@ iptc_init_verify_and_append(const char * { syslog(LOG_ERR, "%s : iptc_commit() error : %s\n", logcaller, iptc_strerror(errno)); +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif return -1; } +#ifdef IPTABLES_143 + iptc_free(h); +#else + iptc_free(&h); +#endif return 0; }