[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: memory hog script crashes bash with segfault
From: |
Chet Ramey |
Subject: |
Re: memory hog script crashes bash with segfault |
Date: |
Fri, 11 Sep 2015 10:51:13 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
On 9/11/15 10:10 AM, Konstantin Khlebnikov wrote:
> On Fri, Sep 11, 2015 at 3:52 PM, Chet Ramey <chet.ramey@case.edu> wrote:
>> On 9/11/15 2:19 AM, Konstantin Khlebnikov wrote:
>>> $ ./bash -c ":(){ : $@$@;};: :"
>>> Segmentation fault
>>
>> This is not a memory allocation problem. You have defined an infinitely
>> recursive function that, when executed, eventually exceeds your stack size
>> resource limit. When that happens, the kernel sends a SIGSEGV.
>
> Yep. But this not happens if command runs in interactive mode.
> Bash uses default stack (with MAP_GROWSDOWN) in interactive mode
> and fixed size stack for "-c" ?
Bash doesn't do anything different. It may be that your system sets
different resource limits for interactive shells and non-interactive ones.
Either way, it will eventually fail.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/