Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at 2015-09-11 09:00:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bash (Old) and /work/SRC/openSUSE:Factory/.bash.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash" Changes: -------- --- /work/SRC/openSUSE:Factory/bash/bash.changes 2015-07-21 13:23:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes 2015-09-11 09:00:04.000000000 +0200 @@ -1,0 +2,21 @@ +Mon Aug 31 11:23:11 UTC 2015 - wer...@suse.de + +- Add upstream patch bash43-039 + Using the output of `declare -p' when run in a function can result in variables + that are invisible to `declare -p'. This problem occurs when an assignment + builtin such as `declare' receives a quoted compound array assignment as one of + its arguments. +- Add upstream patch bash43-040 + There is a memory leak that occurs when bash expands an array reference on + the rhs of an assignment statement. +- Add upstream patch bash43-041 + There are several out-of-bounds read errors that occur when completing command + lines where assignment statements appear before the command name. The first + two appear only when programmable completion is enabled; the last one only + happens when listing possible completions. +- Add upstream patch bash43-042 + There is a problem when parsing command substitutions containing `case' + commands within pipelines that causes the parser to not correctly identify + the end of the command substitution. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash-4.3-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-028 new/bash-4.3-patches/bash43-028 --- old/bash-4.3-patches/bash43-028 2014-10-01 19:29:53.000000000 +0200 +++ new/bash-4.3-patches/bash43-028 2015-08-31 13:33:17.000000000 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400 +*** parse.y 2014-09-25 23:02:35.000000000 -0400 --- parse.y 2014-09-29 16:47:03.000000000 -0400 *************** *** 169,172 **** @@ -156,7 +156,7 @@ + void gather_here_documents () -*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400 +*** y.tab.c 2014-10-01 11:38:24.000000000 -0400 --- y.tab.c 2014-10-01 12:46:11.000000000 -0400 *************** *** 169,173 **** @@ -2248,7 +2248,7 @@ } #endif /* HANDLE_MULTIBYTE */ + -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-029 new/bash-4.3-patches/bash43-029 --- old/bash-4.3-patches/bash43-029 2014-10-03 04:14:34.000000000 +0200 +++ new/bash-4.3-patches/bash43-029 2015-08-31 13:33:17.000000000 +0200 @@ -17,7 +17,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500 +*** make_cmd.c 2011-12-16 08:08:01.000000000 -0500 --- make_cmd.c 2014-10-02 11:24:23.000000000 -0400 *************** *** 693,696 **** @@ -27,7 +27,7 @@ + temp->here_doc_eof = 0; temp->instruction = instruction; temp->flags = 0; -*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 +*** copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 --- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400 *************** *** 127,131 **** @@ -42,7 +42,7 @@ ! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; /*FALLTHROUGH*/ case r_reading_string: -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-030 new/bash-4.3-patches/bash43-030 --- old/bash-4.3-patches/bash43-030 2014-10-06 01:01:17.000000000 +0200 +++ new/bash-4.3-patches/bash43-030 2015-08-31 13:33:18.000000000 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400 +*** builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400 --- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400 *************** *** 309,318 **** @@ -70,7 +70,7 @@ ! } } } -*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400 +*** parse.y 2014-10-01 12:58:43.000000000 -0400 --- parse.y 2014-10-03 14:48:59.000000000 -0400 *************** *** 2539,2542 **** @@ -104,7 +104,7 @@ ! token_to_read = 0; /* Need to find how many characters parse_and_execute consumed, update -*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400 +*** shell.h 2014-10-01 12:57:39.000000000 -0400 --- shell.h 2014-10-03 14:49:12.000000000 -0400 *************** *** 181,184 **** @@ -115,7 +115,7 @@ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); extern void restore_parser_state __P((sh_parser_state_t *)); -*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400 +*** y.tab.c 2014-10-01 13:09:46.000000000 -0400 --- y.tab.c 2014-10-04 19:26:22.000000000 -0400 *************** *** 169,173 **** @@ -2047,7 +2047,7 @@ ! token_to_read = 0; /* Need to find how many characters parse_and_execute consumed, update -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-031 new/bash-4.3-patches/bash43-031 --- old/bash-4.3-patches/bash43-031 2014-12-30 16:40:23.000000000 +0100 +++ new/bash-4.3-patches/bash43-031 2015-08-31 13:33:18.000000000 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 +*** subst.h 2014-01-11 21:02:27.000000000 -0500 --- subst.h 2014-09-01 12:16:56.000000000 -0400 *************** *** 48,51 **** @@ -26,7 +26,7 @@ + #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */ /* Flags for the string extraction functions. */ -*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 +*** variables.c 2014-05-15 08:26:50.000000000 -0400 --- variables.c 2014-09-01 14:37:44.000000000 -0400 *************** *** 2504,2511 **** @@ -95,7 +95,7 @@ ! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF)); } else -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-032 new/bash-4.3-patches/bash43-032 --- old/bash-4.3-patches/bash43-032 2014-12-29 20:45:50.000000000 +0100 +++ new/bash-4.3-patches/bash43-032 2015-08-31 13:33:18.000000000 +0200 @@ -17,7 +17,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400 +*** jobs.c 2014-05-14 09:20:15.000000000 -0400 --- jobs.c 2014-09-09 11:50:38.000000000 -0400 *************** *** 3340,3344 **** @@ -34,7 +34,7 @@ ! queue_sigchld_trap (children_exited); wait_signal_received = SIGCHLD; /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-033 new/bash-4.3-patches/bash43-033 --- old/bash-4.3-patches/bash43-033 2014-12-29 20:46:00.000000000 +0100 +++ new/bash-4.3-patches/bash43-033 2015-08-31 13:33:18.000000000 +0200 @@ -20,7 +20,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500 +*** shell.c 2014-01-14 08:04:32.000000000 -0500 --- shell.c 2014-12-22 10:27:50.000000000 -0500 *************** *** 74,77 **** @@ -45,7 +45,7 @@ + /* Do trap[0] if defined. Allow it to override the exit status passed to us. */ -*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400 +*** builtins/read.def 2014-10-01 12:57:38.000000000 -0400 --- builtins/read.def 2014-12-22 10:48:54.000000000 -0500 *************** *** 141,148 **** @@ -150,7 +150,7 @@ + return (tty_modified); } -*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400 +*** builtins/common.h 2014-10-01 12:57:47.000000000 -0400 --- builtins/common.h 2014-12-22 10:10:14.000000000 -0500 *************** *** 123,126 **** @@ -163,7 +163,7 @@ + /* Functions from set.def */ extern int minus_o_option_value __P((char *)); -*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400 +*** bashline.c 2014-05-14 09:22:39.000000000 -0400 --- bashline.c 2014-09-08 11:28:56.000000000 -0400 *************** *** 203,206 **** @@ -189,7 +189,7 @@ ! if (terminating_signal || interrupt_state || sigalrm_seen) rl_cleanup_after_signal (); bashline_reset_event_hook (); -*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500 +*** sig.c 2014-01-10 15:06:06.000000000 -0500 --- sig.c 2014-09-08 11:26:33.000000000 -0400 *************** *** 533,538 **** @@ -208,7 +208,7 @@ ! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED)) bashline_set_event_hook (); #endif -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-034 new/bash-4.3-patches/bash43-034 --- old/bash-4.3-patches/bash43-034 2015-05-19 20:52:17.000000000 +0200 +++ new/bash-4.3-patches/bash43-034 2015-08-31 13:33:18.000000000 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400 +*** builtins/set.def 2013-04-19 07:20:34.000000000 -0400 --- builtins/set.def 2015-05-05 13:25:36.000000000 -0400 *************** *** 752,758 **** @@ -73,7 +73,7 @@ #if defined (ARRAY_VARS) unset_array = 0; -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-035 new/bash-4.3-patches/bash43-035 --- old/bash-4.3-patches/bash43-035 2015-05-19 20:52:29.000000000 +0200 +++ new/bash-4.3-patches/bash43-035 2015-08-31 13:33:18.000000000 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500 +*** lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500 --- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400 *************** *** 79,83 **** @@ -46,7 +46,7 @@ ! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; return charsetbuf; } -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-036 new/bash-4.3-patches/bash43-036 --- old/bash-4.3-patches/bash43-036 2015-05-19 20:52:40.000000000 +0200 +++ new/bash-4.3-patches/bash43-036 2015-08-31 13:33:18.000000000 +0200 @@ -40,7 +40,7 @@ ! } return (v); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-037 new/bash-4.3-patches/bash43-037 --- old/bash-4.3-patches/bash43-037 2015-05-19 20:52:51.000000000 +0200 +++ new/bash-4.3-patches/bash43-037 2015-08-31 13:33:18.000000000 +0200 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400 +*** assoc.c 2011-11-05 16:39:05.000000000 -0400 --- assoc.c 2015-02-04 15:28:25.000000000 -0500 *************** *** 437,440 **** @@ -26,7 +26,7 @@ + istr = sh_double_quote (tlist->key); else istr = tlist->key; -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-038 new/bash-4.3-patches/bash43-038 --- old/bash-4.3-patches/bash43-038 2015-05-19 21:48:37.000000000 +0200 +++ new/bash-4.3-patches/bash43-038 2015-08-31 13:33:18.000000000 +0200 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 +*** parse.y 2014-04-07 11:56:12.000000000 -0400 --- parse.y 2014-06-11 10:25:53.000000000 -0400 *************** *** 2819,2827 **** @@ -43,7 +43,7 @@ ! case ')': /* only valid in case statement */ case BANG: /* ! time pipeline */ case TIME: /* time time pipeline */ -*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400 +*** y.tab.c 2014-10-05 13:52:50.000000000 -0400 --- y.tab.c 2015-05-19 15:08:43.000000000 -0400 *************** *** 5131,5139 **** @@ -71,7 +71,7 @@ ! case ')': /* only valid in case statement */ case BANG: /* ! time pipeline */ case TIME: /* time time pipeline */ -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-039 new/bash-4.3-patches/bash43-039 --- old/bash-4.3-patches/bash43-039 2015-05-19 20:53:59.000000000 +0200 +++ new/bash-4.3-patches/bash43-039 2015-08-31 13:33:18.000000000 +0200 @@ -40,7 +40,7 @@ + return (var); } -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-040 new/bash-4.3-patches/bash43-040 --- old/bash-4.3-patches/bash43-040 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.3-patches/bash43-040 2015-08-31 13:33:18.000000000 +0200 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-040 + +Bug-Reported-by: Jean Delvare <jdelv...@suse.de> +Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html + +Bug-Description: + +There is a memory leak that occurs when bash expands an array reference on +the rhs of an assignment statement. + +Patch (apply with `patch -p0'): + +*** subst.c 2014-10-01 12:57:47.000000000 -0400 +--- subst.c 2015-06-22 09:16:53.000000000 -0400 +*************** +*** 5783,5787 **** + if (pflags & PF_ASSIGNRHS) + { +! temp = array_variable_name (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +--- 5783,5787 ---- + if (pflags & PF_ASSIGNRHS) + { +! var = array_variable_part (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-041 new/bash-4.3-patches/bash43-041 --- old/bash-4.3-patches/bash43-041 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.3-patches/bash43-041 2015-08-31 13:33:18.000000000 +0200 @@ -0,0 +1,72 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-041 + +Bug-Reported-by: Hanno Böck <ha...@hboeck.de> +Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html, + http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html + +Bug-Description: + +There are several out-of-bounds read errors that occur when completing command +lines where assignment statements appear before the command name. The first +two appear only when programmable completion is enabled; the last one only +happens when listing possible completions. + +Patch (apply with `patch -p0'): + +*** bashline.c 2014-12-29 14:39:43.000000000 -0500 +--- bashline.c 2015-08-12 10:21:58.000000000 -0400 +*************** +*** 1469,1476 **** +--- 1469,1489 ---- + os = start; + n = 0; ++ was_assignment = 0; + s = find_cmd_start (os); + e = find_cmd_end (end); + do + { ++ /* Don't read past the end of rl_line_buffer */ ++ if (s > rl_end) ++ { ++ s1 = s = e1; ++ break; ++ } ++ /* Or past point if point is within an assignment statement */ ++ else if (was_assignment && s > rl_point) ++ { ++ s1 = s = e1; ++ break; ++ } + /* Skip over assignment statements preceding a command name. If we + don't find a command name at all, we can perform command name +*** lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400 +--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400 +*************** +*** 690,693 **** +--- 690,695 ---- + if (temp == 0 || *temp == '\0') + return (pathname); ++ else if (temp[1] == 0 && temp == pathname) ++ return (pathname); + /* If the basename is NULL, we might have a pathname like '/usr/src/'. + Look for a previous slash and, if one is found, return the portion +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-042 new/bash-4.3-patches/bash43-042 --- old/bash-4.3-patches/bash43-042 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.3-patches/bash43-042 2015-08-31 13:36:15.000000000 +0200 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-042 + +Bug-Reported-by: Nathan Neulinger <nn...@neulinger.org> +Bug-Reference-ID: <558efdf2.7060...@neulinger.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html + +Bug-Description: + +There is a problem when parsing command substitutions containing `case' +commands within pipelines that causes the parser to not correctly identify +the end of the command substitution. + +Patch (apply with `patch -p0'): + +*** parse.y 2015-05-18 19:27:05.000000000 -0400 +--- parse.y 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 3709,3712 **** +--- 3709,3714 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** y.tab.c 2015-05-18 19:27:05.000000000 -0400 +--- y.tab.c 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 6021,6024 **** +--- 6021,6026 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */