* Chet Ramey <chet.ra...@case.edu>, 2020-08-03, 09:15:
On 8/3/20 5:30 AM, Jakub Wilk wrote:

Bash Version: 5.0
Patch Level: 18
Release Status: release

bash crashes with stack overflow when checking syntax of this crafted script:

  $ ulimit -s
  8192

  $ printf 'x[$(($(fi)))`\n%050000d\n][`]\n' | tr 0 '(' | bash -n
  bash: command substitution: line 4: syntax error near unexpected token `fi'
  bash: command substitution: line 4: `fi)))`'
  Segmentation fault

I can't reproduce this with bash-5.1-alpha.

Oh right, looks like this was fixed in the 20191108 snapshot, probably by this change:

parse.y
        - xparse_dolparen: if the command substitution is incomplete or doesn't
          end in `)', print an error message instead of allowing EOS to
          terminate the comsub. From a bug report from
          Oguz <oguzismailuy...@gmail.com>

--
Jakub Wilk

Reply via email to