aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-10-15 01:05:25 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-10-15 01:05:25 +0000
commitba0c7accd9d7ae6f2aa449c768c7ce31887679ff (patch)
treedaa37d562cc4d307d6b8b00c2f735f75f19dd392 /package
parent2c92acb699db44d9bef235cdd07c9a26c2f94e74 (diff)
downloadupstream-ba0c7accd9d7ae6f2aa449c768c7ce31887679ff.tar.gz
upstream-ba0c7accd9d7ae6f2aa449c768c7ce31887679ff.tar.bz2
upstream-ba0c7accd9d7ae6f2aa449c768c7ce31887679ff.zip
opkg: fix a double free of pkg vectors when recursively removing packages due to --autoremove
SVN-Revision: 28458
Diffstat (limited to 'package')
-rw-r--r--package/opkg/Makefile2
-rw-r--r--package/opkg/patches/030-fix-double-free.patch10
2 files changed, 11 insertions, 1 deletions
diff --git a/package/opkg/Makefile b/package/opkg/Makefile
index 07d3c81b65..30bf181e1a 100644
--- a/package/opkg/Makefile
+++ b/package/opkg/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=opkg
PKG_REV:=618
PKG_VERSION:=$(PKG_REV)
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=svn
PKG_SOURCE_VERSION:=$(PKG_REV)
diff --git a/package/opkg/patches/030-fix-double-free.patch b/package/opkg/patches/030-fix-double-free.patch
new file mode 100644
index 0000000000..312e06c548
--- /dev/null
+++ b/package/opkg/patches/030-fix-double-free.patch
@@ -0,0 +1,10 @@
+--- a/libopkg/opkg_remove.c
++++ b/libopkg/opkg_remove.c
+@@ -138,7 +138,6 @@ opkg_remove_dependent_pkgs(pkg_t *pkg, a
+ for (i = 0; i < dependent_pkgs->len; i++) {
+ err = opkg_remove_pkg(dependent_pkgs->pkgs[i],0);
+ if (err) {
+- pkg_vec_free(dependent_pkgs);
+ break;
+ }
+ }