diff options
author | Jo-Philipp Wich <jo@mein.io> | 2016-04-23 14:03:50 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2016-04-23 14:03:50 +0200 |
commit | 4c60a6f803759105d59b3e1fc52a9e37eecd08cd (patch) | |
tree | 95778cf7807a5364acac8d5bc205c4f205713c30 /package/system/opkg/patches/270-fix-use-after-free.patch | |
parent | b9466382b54892c186dea356e701b5ecec86d8aa (diff) | |
download | upstream-4c60a6f803759105d59b3e1fc52a9e37eecd08cd.tar.gz upstream-4c60a6f803759105d59b3e1fc52a9e37eecd08cd.tar.bz2 upstream-4c60a6f803759105d59b3e1fc52a9e37eecd08cd.zip |
opkg: fix use-after-free with duplicate packages on the command line
When the same package file is specified multiple times on the opkg install
command line, the name pointer on the argv array becomes stale after the
package structures have been merged, leading to invalid memory accesses
upon install.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'package/system/opkg/patches/270-fix-use-after-free.patch')
-rw-r--r-- | package/system/opkg/patches/270-fix-use-after-free.patch | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/package/system/opkg/patches/270-fix-use-after-free.patch b/package/system/opkg/patches/270-fix-use-after-free.patch new file mode 100644 index 0000000000..96e24b9456 --- /dev/null +++ b/package/system/opkg/patches/270-fix-use-after-free.patch @@ -0,0 +1,11 @@ +--- a/libopkg/opkg_download.c ++++ b/libopkg/opkg_download.c +@@ -335,7 +335,7 @@ opkg_prepare_url_for_install(const char + hash_insert_pkg(pkg, 1); + + if (namep) { +- *namep = pkg->name; ++ *namep = xstrdup(pkg->name); + } + return 0; + } |