From ba0c7accd9d7ae6f2aa449c768c7ce31887679ff Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 15 Oct 2011 01:05:25 +0000 Subject: [PATCH] opkg: fix a double free of pkg vectors when recursively removing packages due to --autoremove SVN-Revision: 28458 --- package/opkg/Makefile | 2 +- package/opkg/patches/030-fix-double-free.patch | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 package/opkg/patches/030-fix-double-free.patch 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; + } + }