Date: Monday, November 23, 2015 @ 21:26:01 Author: bpiotrowski Revision: 251911
upgpkg: bash 4.3.042-4 fix memory leak (FS#45891) Added: bash/trunk/bash-4.3-old-memleak.patch Modified: bash/trunk/PKGBUILD ----------------------------+ PKGBUILD | 9 +++++++-- bash-4.3-old-memleak.patch | 24 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-11-23 19:01:55 UTC (rev 251910) +++ PKGBUILD 2015-11-23 20:26:01 UTC (rev 251911) @@ -7,7 +7,7 @@ _basever=4.3 _patchlevel=042 pkgver=$_basever.$_patchlevel -pkgrel=3 +pkgrel=4 pkgdesc='The GNU Bourne Again shell' arch=('i686' 'x86_64') license=('GPL') @@ -24,7 +24,8 @@ dot.bash_logout system.bashrc system.bash_logout - privmode-setuid-fail.patch) + privmode-setuid-fail.patch + bash-4.3-old-memleak.patch) validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey if [[ $((10#${_patchlevel})) -gt 0 ]]; then @@ -43,6 +44,9 @@ # http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663) patch -p0 -i ../privmode-setuid-fail.patch + + # https://bugs.archlinux.org/task/45891 + patch -p1 -i ../bash-4.3-old-memleak.patch } build() { @@ -86,6 +90,7 @@ '561949793177116b7be29a07c385ba8b' '472f536d7c9e8250dc4568ec4cfaf294' 'a577d42e38249d298d6a8d4bf2823883' + '5bb46160bba51ff904922c6ccfd9c49e' '1ab682b4e36afa4cf1b426aa7ac81c0d' 'SKIP' '8fc22cf50ec85da00f6af3d66f7ddc1b' Added: bash-4.3-old-memleak.patch =================================================================== --- bash-4.3-old-memleak.patch (rev 0) +++ bash-4.3-old-memleak.patch 2015-11-23 20:26:01 UTC (rev 251911) @@ -0,0 +1,24 @@ +diff -up bash-4.3/subst.c.old bash-4.3/subst.c +--- bash-4.3/subst.c.old 2015-08-03 10:32:37.353490080 +0200 ++++ bash-4.3/subst.c 2015-08-03 10:33:34.818533408 +0200 +@@ -9492,7 +9492,7 @@ make_internal_declare (word, option) + char *word; + char *option; + { +- int t; ++ int t, r; + WORD_LIST *wl; + WORD_DESC *w; + +@@ -9504,7 +9504,10 @@ make_internal_declare (word, option) + wl = make_word_list (w, (WORD_LIST *)NULL); + wl = make_word_list (make_word (option), wl); + +- return (declare_builtin (wl)); ++ r = declare_builtin (wl); ++ ++ dispose_words (wl); ++ return r; + } + #endif +