107-upstream-bash43-007.patch (1135B)
1 BASH PATCH REPORT 2 ================= 3 4 Bash-Release: 4.3 5 Patch-ID: bash43-007 6 7 Bug-Reported-by: geir.hauge@gmail.com 8 Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no> 9 Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html 10 11 Bug-Description: 12 13 Using compound assignments for associative arrays like 14 15 assoc=( [x]= [y]=bar ) 16 17 left the value corresponding to the key `x' NULL. This caused subsequent 18 lookups to interpret it as unset. 19 20 Patch (apply with `patch -p0'): 21 22 --- a/arrayfunc.c 23 +++ b/arrayfunc.c 24 @@ -597,6 +597,11 @@ assign_compound_array_list (var, nlist, 25 if (assoc_p (var)) 26 { 27 val = expand_assignment_string_to_string (val, 0); 28 + if (val == 0) 29 + { 30 + val = (char *)xmalloc (1); 31 + val[0] = '\0'; /* like do_assignment_internal */ 32 + } 33 free_val = 1; 34 } 35 36 --- a/patchlevel.h 37 +++ b/patchlevel.h 38 @@ -25,6 +25,6 @@ 39 regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh 40 looks for to find the patch level (for the sccs version string). */ 41 42 -#define PATCHLEVEL 6 43 +#define PATCHLEVEL 7 44 45 #endif /* _PATCHLEVEL_H_ */