Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14412 > unrolled thread

Re: segfault w/ localvar_inherit and associative array insert

Started byChet Ramey <chet.ramey@case.edu>
First post2018-07-27 11:38 -0400
Last post2018-07-27 11:38 -0400
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: segfault w/ localvar_inherit and associative array insert Chet Ramey <chet.ramey@case.edu> - 2018-07-27 11:38 -0400

#14412 — Re: segfault w/ localvar_inherit and associative array insert

FromChet Ramey <chet.ramey@case.edu>
Date2018-07-27 11:38 -0400
SubjectRe: segfault w/ localvar_inherit and associative array insert
Message-ID<mailman.4337.1532705898.1292.bug-bash@gnu.org>
On 7/26/18 3:15 PM, Grisha Levit wrote:
> It seems that in general the array type is inherited just fine, there is an
> issue only in the case that:
>    * the `A' attribute is inherited but not explicitly supplied
>    * we are creating the local variable with the `declare' command
>      (i.e. it is not already an existing local variable)
>    * we are performing a compound assignment/append operation in the
>      same declare command

Exactly. Look at the third point. A statement like `declare x+=( [0]=foo)'
means to create a local array variable, since the -A option is not
supplied. Bash is consistent in defaulting to indexed array variables when
you don't specify -A and assign a value using the compound assignment
syntax. So you create a local indexed array variable, and when you attempt
to inherit the value from a global associative array before performing any
specified assignment, you should either ignore the inherited value or throw
an error.

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

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web