summaryrefslogtreecommitdiff
path: root/debian/patches/bash43-007.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/bash43-007.diff')
-rw-r--r--debian/patches/bash43-007.diff48
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_ */