From 3307f71de770b7a9ba87e299a0c11c4e8e18eab2 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Wed, 20 Jan 2016 16:50:35 +0000
Subject: bash: update to 4.3.042

---
 abs/core/bash/PKGBUILD                   | 19 +++++++++++++++----
 abs/core/bash/bash-4.3-old-memleak.patch | 24 ++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 4 deletions(-)
 create mode 100644 abs/core/bash/bash-4.3-old-memleak.patch

diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD
index ceb5e17..cb6847e 100644
--- a/abs/core/bash/PKGBUILD
+++ b/abs/core/bash/PKGBUILD
@@ -5,16 +5,16 @@
 
 pkgname=bash
 _basever=4.3
-_patchlevel=039
+_patchlevel=042
 pkgver=$_basever.$_patchlevel
-pkgrel=1
+pkgrel=4
 pkgdesc='The GNU Bourne Again shell'
 arch=('i686' 'x86_64')
 license=('GPL')
 url='http://www.gnu.org/software/bash/bash.html'
 groups=('base')
 backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
-depends=('readline>=6.3' 'glibc')
+depends=('readline>=6.3' 'glibc' 'ncurses' 'libncursesw.so')
 optdepends=('bash-completion: for tab completion')
 provides=('sh')
 install=bash.install
@@ -24,7 +24,8 @@ source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
         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 @@ prepare() {
 
   # 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 @@ md5sums=('81348932d5da294953e15d4814c74dd1'
          '561949793177116b7be29a07c385ba8b'
          '472f536d7c9e8250dc4568ec4cfaf294'
          'a577d42e38249d298d6a8d4bf2823883'
+         '5bb46160bba51ff904922c6ccfd9c49e'
          '1ab682b4e36afa4cf1b426aa7ac81c0d'
          'SKIP'
          '8fc22cf50ec85da00f6af3d66f7ddc1b'
@@ -163,4 +168,10 @@ md5sums=('81348932d5da294953e15d4814c74dd1'
          '61e0522830b24fbe8c0d1b010f132470'
          'SKIP'
          'a4775487abe958536751c8ce53cdf6f9'
+         'SKIP'
+         '80d3587c58854e226055ef099ffeb535'
+         'SKIP'
+         '20bf63eef7cb441c0b1cc49ef3191d03'
+         'SKIP'
+         '70790646ae61e207c995e44931390e50'
          'SKIP')
diff --git a/abs/core/bash/bash-4.3-old-memleak.patch b/abs/core/bash/bash-4.3-old-memleak.patch
new file mode 100644
index 0000000..ff2b665
--- /dev/null
+++ b/abs/core/bash/bash-4.3-old-memleak.patch
@@ -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
+ 
-- 
cgit v0.12

