Infinite recursion makes bash segfault

2022-05-05 Thread Judicaël Courant

Hi,

I found bash segfaults when running into an infinite recursion (details 
below). I would expect it to either stop (or possibly exit) with a clear 
error message instead. Here are the details (as given by bashbug). The 
problem also happens with the latest bash version (5.2.0(1)-beta).


Yours,

J. Courant.

Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -g -O2 
-fdebug-prefix-map=/build/bash-Smvct5/bash-5.0=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wall 
-Wno-parentheses -Wno-format-security
uname output: Linux judicael-XPS-15-9500 5.13.0-40-generic 
#45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 2022 x86_64 x86_64 x86_64 
GNU/Linux

Machine Type: x86_64-pc-linux-gnu

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

Description:
Infinite recursion causes bash to segfault.
The problem happens in interactive mode as well as in scripts.

Repeat-By:
~$ bash
~$ foo () { foo; }; foo
Segmentation fault (core dumped)
~$


--
Judicaël Courant
Software Engineer, TrustInSoft
(+33) (0)6 52 42 88 23
https://trust-in-soft.com



Re: Infinite recursion makes bash segfault

2022-05-05 Thread Chet Ramey

On 5/5/22 7:10 AM, Judicaël Courant wrote:

Hi,

I found bash segfaults when running into an infinite recursion (details 
below). I would expect it to either stop (or possibly exit) with a clear 
error message instead. Here are the details (as given by bashbug). The 
problem also happens with the latest bash version (5.2.0(1)-beta).


Yes. If you recurse indefinitely, you will eventually exceed your stack
size resource limit and get the prescribed fatal signal.


Description:
     Infinite recursion causes bash to segfault.
     The problem happens in interactive mode as well as in scripts.

Repeat-By:
     ~$ bash
     ~$ foo () { foo; }; foo
     Segmentation fault (core dumped)
     ~$


If you are worried about this, set the FUNCNEST shell variable to an
appropriate value.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/