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


Reply via email to