diff -up bash-4.2/subst.c.old bash-4.2/subst.c --- bash-4.2/subst.c.old 2015-12-09 13:24:47.369738319 +0100 +++ bash-4.2/subst.c 2015-12-09 13:28:27.366024824 +0100 @@ -2713,6 +2713,8 @@ do_compound_assignment (name, value, fla else if (v == 0 || (array_p (v) == 0 && assoc_p (v) == 0) || v->context != variable_context) v = make_local_array_variable (name); assign_compound_array_list (v, list, flags); + if (list) + dispose_words (list); } else v = assign_array_from_string (name, value, flags);