fix a horrible memleak in ipkg (#2702)
[openwrt/openwrt.git] / package / busybox / patches / 522-memleak.patch
diff --git a/package/busybox/patches/522-memleak.patch b/package/busybox/patches/522-memleak.patch
new file mode 100644 (file)
index 0000000..1bcfb8f
--- /dev/null
@@ -0,0 +1,24 @@
+Index: busybox-1.8.2/archival/libipkg/ipkg_install.c
+===================================================================
+--- busybox-1.8.2.orig/archival/libipkg/ipkg_install.c 2007-12-30 00:02:53.577161007 +0100
++++ busybox-1.8.2/archival/libipkg/ipkg_install.c      2007-12-30 00:03:14.042327251 +0100
+@@ -500,6 +500,7 @@
+              }
+         }
+      }
++       pkg_free_installed_files(new_pkg);
+      return 0;
+ }
+Index: busybox-1.8.2/archival/libipkg/pkg.c
+===================================================================
+--- busybox-1.8.2.orig/archival/libipkg/pkg.c  2007-12-30 00:27:32.001919565 +0100
++++ busybox-1.8.2/archival/libipkg/pkg.c       2007-12-30 00:27:34.426057709 +0100
+@@ -1668,6 +1668,7 @@
+              // ipkg_message(conf, IPKG_DEBUG2, "pkg %s: file=%s\n", pkg->name, installed_file);
+              file_hash_set_file_owner(conf, installed_file, pkg);
+         }
++        pkg_free_installed_files(pkg);
+      }
+      pkg_vec_free(installed_pkgs);