summaryrefslogtreecommitdiff
path: root/package/bash/bash32-033
diff options
context:
space:
mode:
authorNigel Kukard <nkukard@lbsd.net>2008-04-29 20:03:03 +0000
committerNigel Kukard <nkukard@lbsd.net>2008-04-29 20:03:03 +0000
commit4b751965ef46c05d6cc89cb1f074efc5536f80de (patch)
tree0c159494f6c929374bec6f55b6b0ac957d3d2717 /package/bash/bash32-033
parent8fdb0e25e683b26990cb9d9a4c14e5422d7a3834 (diff)
* Sync'd bash patches to upstream
Diffstat (limited to 'package/bash/bash32-033')
-rw-r--r--package/bash/bash32-03388
1 files changed, 88 insertions, 0 deletions
diff --git a/package/bash/bash32-033 b/package/bash/bash32-033
new file mode 100644
index 000000000..0d698108b
--- /dev/null
+++ b/package/bash/bash32-033
@@ -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_ */
+