diff options
Diffstat (limited to 'debian/patches/bash43-007.diff')
-rw-r--r-- | debian/patches/bash43-007.diff | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/debian/patches/bash43-007.diff b/debian/patches/bash43-007.diff new file mode 100644 index 0000000..70b420b --- /dev/null +++ b/debian/patches/bash43-007.diff @@ -0,0 +1,48 @@ +# DP: bash43-007 upstream patch + +Bash-Release: 4.3 +Patch-ID: bash43-007 + +Bug-Reported-by: geir.hauge@gmail.com +Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html + +Bug-Description: + +Using compound assignments for associative arrays like + +assoc=( [x]= [y]=bar ) + +left the value corresponding to the key `x' NULL. This caused subsequent +lookups to interpret it as unset. + +Patch (apply with `patch -p0'): + +Index: b/arrayfunc.c +=================================================================== +--- a/arrayfunc.c ++++ b/arrayfunc.c +@@ -597,6 +597,11 @@ + if (assoc_p (var)) + { + val = expand_assignment_string_to_string (val, 0); ++ if (val == 0) ++ { ++ val = (char *)xmalloc (1); ++ val[0] = '\0'; /* like do_assignment_internal */ ++ } + free_val = 1; + } + +Index: b/patchlevel.h +=================================================================== +--- 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 6 ++#define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ |