[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash-4.3_p39 Segfaults in array_flush at array.c:111 after incorrect
From: |
Chet Ramey |
Subject: |
Re: bash-4.3_p39 Segfaults in array_flush at array.c:111 after incorrect conversion from indexed to associative array |
Date: |
Tue, 18 Aug 2015 10:23:50 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 |
On 8/15/15 9:02 PM, Sergey Tselikh wrote:
> Description:
> An incorrect conversion from indexed to associative array in bash script leads
> bash interpreter to segfault (bash still gives a useful error report in this
> situation,
> which is good).
>
> As seen in the output of GDB, bash terminates in array_flush function:
>
> Core was generated by `../untars/bash-43-39/bash-4.3/root/bin/bash -x repro'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0 0x0000000000470879 in array_flush (a=0x19de728) at array.c:111
> 111 for (r = element_forw(a->head); r != a->head; ) {
Thanks for the report. The problem was incomplete error propagation. It
will be fixed for the next release of bash.
I've attached a patch for folks to experiment with; your line numbers will
vary wildly.
Chet
--
``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/
array-convert-segfault.patch
Description: Source code patch