]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/bash/bash32-033
Merge branch 'kernel-update' of ssh://git.ipfire.org/pub/git/ipfire-2.x into kernel...
[ipfire-2.x.git] / src / patches / bash / bash32-033
diff --git a/src/patches/bash/bash32-033 b/src/patches/bash/bash32-033
new file mode 100644 (file)
index 0000000..0d69810
--- /dev/null
@@ -0,0 +1,88 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-033
+
+Bug-Reported-by:       Christophe Martin <schplurtz@free.fr>
+Bug-Reference-ID:      <465ABA4A.3030805@free.fr>
+Bug-Reference-URL:     http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00104.html
+
+Bug-Description:
+
+References made within a function to an uninitialized local array variable
+using the [*] subscript in a double-quoted string  can result in spurious
+ASCII 127 characters in the expanded value.
+
+Patch:
+
+*** ../bash-3.2-patched/arrayfunc.c    2007-08-25 13:47:05.000000000 -0400
+--- arrayfunc.c        2007-05-31 11:55:46.000000000 -0400
+***************
+*** 723,727 ****
+      {
+        if (rtype)
+!      *rtype = 1;
+        if (allow_all == 0)
+       {
+--- 723,727 ----
+      {
+        if (rtype)
+!      *rtype = (t[0] == '*') ? 1 : 2;
+        if (allow_all == 0)
+       {
+*** ../bash-3.2-patched/subst.c        2007-08-25 13:47:08.000000000 -0400
+--- subst.c    2007-11-14 15:43:00.000000000 -0500
+***************
+*** 4908,4915 ****
+    intmax_t arg_index;
+    SHELL_VAR *var;
+!   int atype;
+  
+    ret = 0;
+    temp = 0;
+  
+    /* Handle multiple digit arguments, as in ${11}. */  
+--- 4973,4981 ----
+    intmax_t arg_index;
+    SHELL_VAR *var;
+!   int atype, rflags;
+  
+    ret = 0;
+    temp = 0;
++   rflags = 0;
+  
+    /* Handle multiple digit arguments, as in ${11}. */  
+***************
+*** 4944,4947 ****
+--- 5010,5015 ----
+                 ? quote_string (temp)
+                 : quote_escapes (temp);
++       else if (atype == 1 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
++      rflags |= W_HASQUOTEDNULL;
+      }
+  #endif
+***************
+*** 4971,4974 ****
+--- 5039,5043 ----
+        ret = alloc_word_desc ();
+        ret->word = temp;
++       ret->flags |= rflags;
+      }
+    return ret;
+*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
+--- patchlevel.h       Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 32
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 33
+  
+  #endif /* _PATCHLEVEL_H_ */
+