BASH PATCH REPORT ================= Bash-Release: 4.2 Patch-ID: bash42-019 Bug-Reported-by: Diego Augusto Molina Bug-Reference-ID: Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html Bug-Description: Using `declare' with attributes and an invalid array variable name or assignment reference resulted in a segmentation fault instead of a declaration error. Patch (apply with `patch -p0'): --- a/builtins/declare.def +++ b/builtins/declare.def @@ -513,6 +513,11 @@ declare_internal (list, local_var) *subscript_start = '['; /* ] */ var = assign_array_element (name, value, 0); /* XXX - not aflags */ *subscript_start = '\0'; + if (var == 0) /* some kind of assignment error */ + { + assign_error++; + NEXT_VARIABLE (); + } } else if (simple_array_assign) { --- 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 18 +#define PATCHLEVEL 19 #endif /* _PATCHLEVEL_H_ */