Andreas Schwab <[email protected]> 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, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."