Bash leaks memory when doing function calls while reading from subshell as stdin

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Bash leaks memory when doing function calls while reading from subshell as stdin

Øyvind Hvidsten-2
Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu'
-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash'
-DSHELL -DHAVE_CONFIG_H   -I.  -I../. -I.././include -I.././lib
-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2
-fdebug-prefix-map=/build/bash-7fckc0/bash-4.4=.
-fstack-protector-strong -Wformat -Werror=format-security -Wall -no-pie
-Wno-parentheses -Wno-format-security
uname output: Linux vampiric 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1
(2017-09-28) x86_64 GNU/Linux
Machine Type: x86_64-pc-linux-gnu

Bash Version: 4.4
Patch Level: 12
Release Status: release

Description:
        An alternative version of the memory leak script, for those who blame
the buffer from the subshell :)
        It's a lot slower to leak, but it leaks.

Repeat-By:
        f2() { return 1; }
        f1()
        {
            while read -r line; do
                f2
            done < <(
                for ((i=0;i<10;i++)); do
                    printf '%s\n' "$i"
                done
            )
        }
       
        while true; do
                f1
        done