[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: declare -A a=b crashes bash
From: |
Andreas Schwab |
Subject: |
Re: declare -A a=b crashes bash |
Date: |
Fri, 09 Apr 2010 19:27:06 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.95 (gnu/linux) |
Andreas Schwab <schwab@linux-m68k.org> writes:
> $ declare -A a=b; unset a
> *** glibc detected *** /bin/bash: free(): invalid pointer: 0x10091644 ***
And the obvious patch:
--- bash-4.1/builtins/declare.def.~1~ 2009-11-26 01:42:00.000000000 +0100
+++ bash-4.1/builtins/declare.def 2010-04-09 19:20:51.000000000 +0200
@@ -512,7 +512,7 @@ declare_internal (list, local_var)
{
/* let bind_{array,assoc}_variable take care of this. */
if (assoc_p (var))
- bind_assoc_variable (var, name, "0", value, aflags);
+ bind_assoc_variable (var, name, savestring ("0"), value,
aflags);
else
bind_array_variable (name, 0, value, aflags);
}
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."