Control: tags -1 + fixed-upstream Turns out it was /not/ a one-line fix, since it exposed a lot of other latent bugs; either way, fixed upstream in this series: https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=07cad228ae4d1567aeb6d13d2af83d0a28d13b67 https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=91a375576d37bb4db1eca48e6bf5bac0db6cc3fa https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=5f094d08c5bcee876191404a4f3dd2d075571215 https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=44ae22beedf8a3d68bbfa1d065ad677182372de2 (I think that's the smallest viable part of the fix, anyway).
All test cases work on trunk, including your original reproducer: $ src/dash <<EOF id cat good! EOF uid=1000(nabijaczleweli) gid=100(users) groups=100(users),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(ssh),113(debian-transmission),116(kvm),120(minidlna),1000(nabijaczleweli),1002(smb-share),1006(smb-spool) good! $ src/dash <<"EOF" id read Q good! echo Q$Q EOF uid=1000(nabijaczleweli) gid=100(users) groups=100(users),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(ssh),113(debian-transmission),116(kvm),120(minidlna),1000(nabijaczleweli),1002(smb-share),1006(smb-spool) Qgood! $ echo "|$(printf %10000s)echo bug" | src/dash -i $ src/dash: 1: Syntax error: "|" unexpected $ src/dash: 1: Cannot set tty process group (No such process) $ TEST_SH=src/dash ./sh-stdin.sh Inner: pre Eat: echo "Inner: post" Eat: exit 3 Outer: exit code = 0 наб
signature.asc
Description: PGP signature