BASH PATCH REPORT ================= Bash-Release: 4.2 Patch-ID: bash42-017 Bug-Reported-by: Curtis Doty Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html Bug-Description: Using `read -a foo' where foo was an already-declared associative array caused the shell to die with a segmentation fault. Patch (apply with `patch -p0'): --- a/builtins/read.def +++ b/builtins/read.def @@ -642,6 +642,12 @@ assign_vars: xfree (input_string); return EXECUTION_FAILURE; /* readonly or noassign */ } + if (assoc_p (var)) + { + builtin_error (_("%s: cannot convert associative to indexed array"), arrayname); + xfree (input_string); + return EXECUTION_FAILURE; /* existing associative array */ + } array_flush (array_cell (var)); alist = list_string (input_string, ifs_chars, 0); --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 16 +#define PATCHLEVEL 17 #endif /* _PATCHLEVEL_H_ */