#!/bin/bash
set -e

mkdir -p /tmp/bb
cd /tmp/bb

[ -e bash-5.1.8.tar.gz ] || wget https://ftp.gnu.org/gnu/bash/bash-5.1.8.tar.gz
rm -rf bash-5.1.8
tar xf bash-5.1.8.tar.gz
cd bash-5.1.8

[ ! "$patched" ] || patch -p0 << 'EOF'
--- subst.c
+++ subst.c
@@ -6196,7 +6196,7 @@
     {
       if (fd < 0)
 	break;
-      if (--bufn <= 0)
+      if (bufn <= 0)
 	{
 	  bufn = zread (fd, buf, sizeof (buf));
 	  if (bufn <= 0) 
@@ -6204,6 +6204,7 @@
 	  bufp = buf;
 	}
       c = *bufp++;
+      bufn--;
 
       if (c == 0)
 	{
EOF

CFLAGS="-O2 -fstack-protector-strong -g" ./configure --prefix=/usr
make -j
cd ..
ln -sf bash-5.1.8/bash .

cat << 'EOF' > bb
export LC_ALL=de_DE.UTF-8
: :
for a in .;do
for b in .;do
:
d="$(cat)"
echo "$d"
:
done
done
EOF

printf '%511s\xc3\xa4' | env -i LC_MONETARY=C.UTF-8 ./bash bb | hd
