diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-10-15 01:05:25 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-10-15 01:05:25 +0000 |
commit | 66e5badb52e03f0e0ed034c0c0e1e656b3a587bb (patch) | |
tree | 39d1654aa7051a5d192ee1d1573c119c7d028775 /package/opkg/patches | |
parent | 99ec82edb99e35ff775c4d5e7bb8864a3519fe20 (diff) |
[package] opkg: fix a double free of pkg vectors when recursively removing packages due to --autoremove
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28458 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/opkg/patches')
-rw-r--r-- | package/opkg/patches/030-fix-double-free.patch | 10 |
1 files changed, 10 insertions, 0 deletions
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 000000000..312e06c54 --- /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; + } + } |