[package] add memleak fixes from #5875
authorFlorian Fainelli <florian@openwrt.org>
Mon, 28 Sep 2009 19:12:02 +0000 (19:12 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 28 Sep 2009 19:12:02 +0000 (19:12 +0000)
SVN-Revision: 17790

net/miniupnpd/Makefile
net/miniupnpd/patches/001-iptcrdr_memleaks.patch [new file with mode: 0644]

index c06279ae370ddf9d0421e3903e4f505e03a32a4a..61261c7e720559732849d80da80bfd174e8ca956 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=miniupnpd
 PKG_VERSION:=1.3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_MD5SUM:=b5e70e80dcf45b424b8fe3c966bdc613
 
 PKG_SOURCE_URL:=http://miniupnp.free.fr/files
diff --git a/net/miniupnpd/patches/001-iptcrdr_memleaks.patch b/net/miniupnpd/patches/001-iptcrdr_memleaks.patch
new file mode 100644 (file)
index 0000000..c273ca5
--- /dev/null
@@ -0,0 +1,67 @@
+--- 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;
+ }