packages/net/miniupnpd/patches/001-iptcrdr_memleaks.patch
florian fb20e03199 [package] add memleak fixes from #5875
git-svn-id: svn://svn.openwrt.org/openwrt/packages@17790 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-09-28 19:12:02 +00:00

68 lines
1.4 KiB
Diff

--- a/netfilter/iptcrdr.c
+++ b/netfilter/iptcrdr.c
@@ -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;
}