From 675a6ab3222569f07efd313f65970386006fa88f Mon Sep 17 00:00:00 2001 From: "Tom G. Christensen" Date: Thu, 2 Jul 2015 18:12:40 +0200 Subject: [PATCH] bash: update to 4.3.39 --- bash/build.sh | 79 ++++++++++--------- bash/meta/ChangeLog | 3 + bash/src/{bash43-001.edited => bash43-001} | 4 +- bash/src/{bash43-002.edited => bash43-002} | 4 +- bash/src/{bash43-003.edited => bash43-003} | 4 +- bash/src/{bash43-004.edited => bash43-004} | 4 +- bash/src/{bash43-005.edited => bash43-005} | 6 +- bash/src/{bash43-006.edited => bash43-006} | 4 +- bash/src/{bash43-007.edited => bash43-007} | 4 +- bash/src/{bash43-008.edited => bash43-008} | 6 +- bash/src/{bash43-009.edited => bash43-009} | 2 +- bash/src/{bash43-010.edited => bash43-010} | 8 +- bash/src/{bash43-011.edited => bash43-011} | 2 +- bash/src/{bash43-012.edited => bash43-012} | 2 +- bash/src/{bash43-013.edited => bash43-013} | 2 +- bash/src/{bash43-014.edited => bash43-014} | 2 +- bash/src/{bash43-015.edited => bash43-015} | 2 +- bash/src/{bash43-016.edited => bash43-016} | 2 +- bash/src/{bash43-017.edited => bash43-017} | 2 +- bash/src/{bash43-018.edited => bash43-018} | 2 +- bash/src/{bash43-019.edited => bash43-019} | 2 +- bash/src/{bash43-020.edited => bash43-020} | 2 +- bash/src/{bash43-021.edited => bash43-021} | 2 +- bash/src/{bash43-022.edited => bash43-022} | 2 +- bash/src/{bash43-023.edited => bash43-023} | 2 +- bash/src/{bash43-024.edited => bash43-024} | 2 +- bash/src/{bash43-025.edited => bash43-025} | 2 +- bash/src/{bash43-026.edited => bash43-026} | 2 +- bash/src/{bash43-027.edited => bash43-027} | 2 +- bash/src/{bash43-028.edited => bash43-028} | 2 +- bash/src/{bash43-029.edited => bash43-029} | 2 +- bash/src/{bash43-030.edited => bash43-030} | 2 +- bash/src/{bash43-031.edited => bash43-031} | 2 +- bash/src/{bash43-032.edited => bash43-032} | 2 +- bash/src/{bash43-033.edited => bash43-033} | 2 +- bash/src/bash43-034 | 90 ++++++++++++++++++++++ bash/src/bash43-035 | 63 +++++++++++++++ bash/src/bash43-036 | 57 ++++++++++++++ bash/src/bash43-037 | 43 +++++++++++ bash/src/bash43-038 | 88 +++++++++++++++++++++ bash/src/bash43-039 | 57 ++++++++++++++ 41 files changed, 489 insertions(+), 83 deletions(-) rename bash/src/{bash43-001.edited => bash43-001} (92%) rename bash/src/{bash43-002.edited => bash43-002} (92%) rename bash/src/{bash43-003.edited => bash43-003} (90%) rename bash/src/{bash43-004.edited => bash43-004} (90%) rename bash/src/{bash43-005.edited => bash43-005} (92%) rename bash/src/{bash43-006.edited => bash43-006} (91%) rename bash/src/{bash43-007.edited => bash43-007} (90%) rename bash/src/{bash43-008.edited => bash43-008} (95%) rename bash/src/{bash43-009.edited => bash43-009} (97%) rename bash/src/{bash43-010.edited => bash43-010} (95%) rename bash/src/{bash43-011.edited => bash43-011} (95%) rename bash/src/{bash43-012.edited => bash43-012} (95%) rename bash/src/{bash43-013.edited => bash43-013} (96%) rename bash/src/{bash43-014.edited => bash43-014} (98%) rename bash/src/{bash43-015.edited => bash43-015} (96%) rename bash/src/{bash43-016.edited => bash43-016} (98%) rename bash/src/{bash43-017.edited => bash43-017} (95%) rename bash/src/{bash43-018.edited => bash43-018} (95%) rename bash/src/{bash43-019.edited => bash43-019} (97%) rename bash/src/{bash43-020.edited => bash43-020} (97%) rename bash/src/{bash43-021.edited => bash43-021} (95%) rename bash/src/{bash43-022.edited => bash43-022} (96%) rename bash/src/{bash43-023.edited => bash43-023} (98%) rename bash/src/{bash43-024.edited => bash43-024} (96%) rename bash/src/{bash43-025.edited => bash43-025} (98%) rename bash/src/{bash43-026.edited => bash43-026} (95%) rename bash/src/{bash43-027.edited => bash43-027} (99%) rename bash/src/{bash43-028.edited => bash43-028} (99%) rename bash/src/{bash43-029.edited => bash43-029} (96%) rename bash/src/{bash43-030.edited => bash43-030} (99%) rename bash/src/{bash43-031.edited => bash43-031} (98%) rename bash/src/{bash43-032.edited => bash43-032} (96%) rename bash/src/{bash43-033.edited => bash43-033} (99%) create mode 100644 bash/src/bash43-034 create mode 100644 bash/src/bash43-035 create mode 100644 bash/src/bash43-036 create mode 100644 bash/src/bash43-037 create mode 100644 bash/src/bash43-038 create mode 100644 bash/src/bash43-039 diff --git a/bash/build.sh b/bash/build.sh index a6a313e..de28449 100755 --- a/bash/build.sh +++ b/bash/build.sh @@ -7,49 +7,53 @@ # Check the following 4 variables before running the script topdir=bash real_version=4.3 -version=4.3.33 +version=4.3.39 pkgver=1 source[0]=ftp://ftp.sunet.se/pub/gnu/bash/$topdir-$real_version.tar.gz # Source function library . ${BUILDPKG_SCRIPTS}/buildpkg.functions -# Patches have been run through: -# sed 's|../bash-4\.3/||' -# Otherwise they cannot be applied by GNU Patch 2.7.1 -patch[0]=bash43-001.edited -patch[1]=bash43-002.edited -patch[2]=bash43-003.edited -patch[3]=bash43-004.edited -patch[4]=bash43-005.edited -patch[5]=bash43-006.edited -patch[6]=bash43-007.edited -patch[7]=bash43-008.edited -patch[8]=bash43-009.edited -patch[9]=bash43-010.edited -patch[10]=bash43-011.edited -patch[11]=bash43-012.edited -patch[12]=bash43-013.edited -patch[13]=bash43-014.edited -patch[14]=bash43-015.edited -patch[15]=bash43-016.edited -patch[16]=bash43-017.edited -patch[17]=bash43-018.edited -patch[18]=bash43-019.edited -patch[19]=bash43-020.edited -patch[20]=bash43-021.edited -patch[21]=bash43-022.edited -patch[22]=bash43-023.edited -patch[23]=bash43-024.edited -patch[24]=bash43-025.edited -patch[25]=bash43-026.edited -patch[26]=bash43-027.edited -patch[27]=bash43-028.edited -patch[28]=bash43-029.edited -patch[29]=bash43-030.edited -patch[30]=bash43-031.edited -patch[31]=bash43-032.edited -patch[32]=bash43-033.edited +patch[0]="" # no sparse array support in buildpkg +patch[1]=bash43-001 +patch[2]=bash43-002 +patch[3]=bash43-003 +patch[4]=bash43-004 +patch[5]=bash43-005 +patch[6]=bash43-006 +patch[7]=bash43-007 +patch[8]=bash43-008 +patch[9]=bash43-009 +patch[10]=bash43-010 +patch[11]=bash43-011 +patch[12]=bash43-012 +patch[13]=bash43-013 +patch[14]=bash43-014 +patch[15]=bash43-015 +patch[16]=bash43-016 +patch[17]=bash43-017 +patch[18]=bash43-018 +patch[19]=bash43-019 +patch[20]=bash43-020 +patch[21]=bash43-021 +patch[22]=bash43-022 +patch[23]=bash43-023 +patch[24]=bash43-024 +patch[25]=bash43-025 +patch[26]=bash43-026 +patch[27]=bash43-027 +patch[28]=bash43-028 +patch[29]=bash43-029 +patch[30]=bash43-030 +patch[31]=bash43-031 +patch[32]=bash43-032 +patch[33]=bash43-033 +patch[34]=bash43-034 +patch[35]=bash43-035 +patch[36]=bash43-036 +patch[37]=bash43-037 +patch[38]=bash43-038 +patch[39]=bash43-039 # Global settings export CPPFLAGS="-I$prefix/include" @@ -90,6 +94,7 @@ install() compat bash 4.3.26 1 1 compat bash 4.3.27 1 1 compat bash 4.3.30 1 1 + compat bash 4.3.33 1 1 } reg pack diff --git a/bash/meta/ChangeLog b/bash/meta/ChangeLog index 790de44..6730d47 100644 --- a/bash/meta/ChangeLog +++ b/bash/meta/ChangeLog @@ -1,5 +1,8 @@ CHANGELOG --------- +* Wed Jul 01 2015 Tom G. Christensen - 4,3,39-1 +- Update to 4.3.39 + * Sun Mar 15 2015 Tom G. Christensen - 4.3.33-1 - Update to 4.3.33 diff --git a/bash/src/bash43-001.edited b/bash/src/bash43-001 similarity index 92% rename from bash/src/bash43-001.edited rename to bash/src/bash43-001 index b751fd7..ea1c6b2 100644 --- a/bash/src/bash43-001.edited +++ b/bash/src/bash43-001 @@ -16,7 +16,7 @@ processing the argument to `test -R'. Patch (apply with `patch -p0'): -*** test.c 2014-02-04 16:52:58.000000000 -0500 +*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500 --- test.c 2014-02-28 21:22:44.000000000 -0500 *************** *** 647,652 **** @@ -41,7 +41,7 @@ Patch (apply with `patch -p0'): + case 'R': return (1); } -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-002.edited b/bash/src/bash43-002 similarity index 92% rename from bash/src/bash43-002.edited rename to bash/src/bash43-002 index 5527a7a..735b7b8 100644 --- a/bash/src/bash43-002.edited +++ b/bash/src/bash43-002 @@ -15,7 +15,7 @@ on systems which need process group synchronization while building pipelines. Patch (apply with `patch -p0'): -*** trap.c 2014-02-05 10:03:21.000000000 -0500 +*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500 --- trap.c 2014-02-28 09:51:43.000000000 -0500 *************** *** 921,925 **** @@ -45,7 +45,7 @@ Patch (apply with `patch -p0'): ! restore_pipeline (1); #endif -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-003.edited b/bash/src/bash43-003 similarity index 90% rename from bash/src/bash43-003.edited rename to bash/src/bash43-003 index 39769c7..0f32f41 100644 --- a/bash/src/bash43-003.edited +++ b/bash/src/bash43-003 @@ -15,7 +15,7 @@ fault by passing invalid contexts to callback functions. Patch (apply with `patch -p0'): -*** lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 --- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400 *************** *** 745,749 **** @@ -31,7 +31,7 @@ Patch (apply with `patch -p0'): ! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ { _rl_keyseq_chain_dispose (); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-004.edited b/bash/src/bash43-004 similarity index 90% rename from bash/src/bash43-004.edited rename to bash/src/bash43-004 index b03ffa6..010f04a 100644 --- a/bash/src/bash43-004.edited +++ b/bash/src/bash43-004 @@ -15,7 +15,7 @@ The `.' command in vi mode cannot undo multi-key commands beginning with Patch (apply with `patch -p0'): -*** lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 --- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500 *************** *** 965,969 **** @@ -30,7 +30,7 @@ Patch (apply with `patch -p0'): ! _rl_dispatching_keymap == vi_movement_keymap && _rl_vi_textmod_command (key)) _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-005.edited b/bash/src/bash43-005 similarity index 92% rename from bash/src/bash43-005.edited rename to bash/src/bash43-005 index 5779ac4..bcd4069 100644 --- a/bash/src/bash43-005.edited +++ b/bash/src/bash43-005 @@ -16,7 +16,7 @@ expansions within double quotes. Patch (apply with `patch -p0'): -*** parse.y 2014-02-11 09:42:10.000000000 -0500 +*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500 --- parse.y 2014-03-07 20:57:15.000000000 -0500 *************** *** 3399,3403 **** @@ -31,7 +31,7 @@ Patch (apply with `patch -p0'): ! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') continue; -*** y.tab.c 2014-02-11 10:57:47.000000000 -0500 +*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500 --- y.tab.c 2014-03-28 10:41:15.000000000 -0400 *************** *** 5711,5715 **** @@ -46,7 +46,7 @@ Patch (apply with `patch -p0'): ! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') continue; -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-006.edited b/bash/src/bash43-006 similarity index 91% rename from bash/src/bash43-006.edited rename to bash/src/bash43-006 index 8c0bd04..24ff057 100644 --- a/bash/src/bash43-006.edited +++ b/bash/src/bash43-006 @@ -16,7 +16,7 @@ shell to get a stop signal when it attempted to read from the terminal. Patch (apply with `patch -p0'): -*** jobs.c 2014-01-10 09:05:34.000000000 -0500 +*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500 --- jobs.c 2014-03-02 18:05:09.000000000 -0500 *************** *** 4375,4379 **** @@ -31,7 +31,7 @@ Patch (apply with `patch -p0'): ! if (interactive_shell || job_control) /* XXX - should it be just job_control? */ { terminate_stopped_jobs (); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-007.edited b/bash/src/bash43-007 similarity index 90% rename from bash/src/bash43-007.edited rename to bash/src/bash43-007 index b3c768b..0d62c9e 100644 --- a/bash/src/bash43-007.edited +++ b/bash/src/bash43-007 @@ -19,7 +19,7 @@ lookups to interpret it as unset. Patch (apply with `patch -p0'): -*** arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 +*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 --- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400 *************** *** 598,601 **** @@ -33,7 +33,7 @@ Patch (apply with `patch -p0'): + } free_val = 1; } -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-008.edited b/bash/src/bash43-008 similarity index 95% rename from bash/src/bash43-008.edited rename to bash/src/bash43-008 index bae7206..0ae7c95 100644 --- a/bash/src/bash43-008.edited +++ b/bash/src/bash43-008 @@ -15,7 +15,7 @@ dot, regardless of the setting of the `dotglob' option. Patch (apply with `patch -p0'): -*** lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 +*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 --- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 *************** *** 211,214 **** @@ -25,7 +25,7 @@ Patch (apply with `patch -p0'): + case '?': return (pat[1] == LPAREN); default: -*** lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 +*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 --- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 *************** *** 180,202 **** @@ -171,7 +171,7 @@ Patch (apply with `patch -p0'): ! return 0; #else return (wchkname (pat, dname)); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-009.edited b/bash/src/bash43-009 similarity index 97% rename from bash/src/bash43-009.edited rename to bash/src/bash43-009 index d2cd6eb..015835c 100644 --- a/bash/src/bash43-009.edited +++ b/bash/src/bash43-009 @@ -47,7 +47,7 @@ Patch (apply with `patch -p0'): ! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) shell_input_line = (char *)xrealloc (shell_input_line, 1 + (shell_input_line_size += 2)); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-010.edited b/bash/src/bash43-010 similarity index 95% rename from bash/src/bash43-010.edited rename to bash/src/bash43-010 index 3736484..835a96e 100644 --- a/bash/src/bash43-010.edited +++ b/bash/src/bash43-010 @@ -33,7 +33,7 @@ This patch fixes two cases: In these cases, since readline did not detect a quote character in the original word to be completed, bash-4.3 -*** externs.h 2014-01-02 14:58:20.000000000 -0500 +*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500 --- externs.h 2014-03-13 14:42:57.000000000 -0400 *************** *** 325,328 **** @@ -43,7 +43,7 @@ word to be completed, bash-4.3 + extern int sh_contains_quotes __P((char *)); /* declarations for functions defined in lib/sh/spell.c */ -*** lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400 +*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400 --- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400 *************** *** 312,313 **** @@ -64,7 +64,7 @@ word to be completed, bash-4.3 + } + return 0; + } -*** pcomplete.c 2013-08-26 15:23:45.000000000 -0400 +*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400 --- pcomplete.c 2014-03-25 17:23:23.000000000 -0400 *************** *** 184,187 **** @@ -140,7 +140,7 @@ word to be completed, bash-4.3 + pcomp_curtxt = oldtxt; /* We need to conditionally handle setting *retryp here */ -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-011.edited b/bash/src/bash43-011 similarity index 95% rename from bash/src/bash43-011.edited rename to bash/src/bash43-011 index 98c9c07..cdc1572 100644 --- a/bash/src/bash43-011.edited +++ b/bash/src/bash43-011 @@ -32,7 +32,7 @@ Patch (apply with `patch -p0'): ! _rl_move_vert (_rl_vis_botlin); _rl_vis_botlin = 0; fflush (rl_outstream); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-012.edited b/bash/src/bash43-012 similarity index 95% rename from bash/src/bash43-012.edited rename to bash/src/bash43-012 index d3016bc..176fa15 100644 --- a/bash/src/bash43-012.edited +++ b/bash/src/bash43-012 @@ -26,7 +26,7 @@ Patch (apply with `patch -p0'): + unwind_protect_pointer (this_shell_builtin); /* We have to add the commands this way because they will be run -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-013.edited b/bash/src/bash43-013 similarity index 96% rename from bash/src/bash43-013.edited rename to bash/src/bash43-013 index 2c934fe..8f4006b 100644 --- a/bash/src/bash43-013.edited +++ b/bash/src/bash43-013 @@ -49,7 +49,7 @@ Patch (apply with `patch -p0'): ! } } } -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-014.edited b/bash/src/bash43-014 similarity index 98% rename from bash/src/bash43-014.edited rename to bash/src/bash43-014 index 01674f7..f837196 100644 --- a/bash/src/bash43-014.edited +++ b/bash/src/bash43-014 @@ -85,7 +85,7 @@ Patch (apply with `patch -p0'): + set_word_flags: if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED)) tword->flags |= W_QUOTED; -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-015.edited b/bash/src/bash43-015 similarity index 96% rename from bash/src/bash43-015.edited rename to bash/src/bash43-015 index ee5879d..9c4e5ea 100644 --- a/bash/src/bash43-015.edited +++ b/bash/src/bash43-015 @@ -41,7 +41,7 @@ Patch (apply with `patch -p0'): ! free (dfn); if (m1 == 0 || m1[0] == 0) -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-016.edited b/bash/src/bash43-016 similarity index 98% rename from bash/src/bash43-016.edited rename to bash/src/bash43-016 index d43d997..882d593 100644 --- a/bash/src/bash43-016.edited +++ b/bash/src/bash43-016 @@ -115,7 +115,7 @@ Patch (apply with `patch -p0'): + return d; + } -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-017.edited b/bash/src/bash43-017 similarity index 95% rename from bash/src/bash43-017.edited rename to bash/src/bash43-017 index 4580df2..4016fb9 100644 --- a/bash/src/bash43-017.edited +++ b/bash/src/bash43-017 @@ -34,7 +34,7 @@ Patch (apply with `patch -p0'): was_tmpvar = old_var && tempvar_p (old_var); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-018.edited b/bash/src/bash43-018 similarity index 95% rename from bash/src/bash43-018.edited rename to bash/src/bash43-018 index 9bec76a..39499f6 100644 --- a/bash/src/bash43-018.edited +++ b/bash/src/bash43-018 @@ -27,7 +27,7 @@ Patch (apply with `patch -p0'): return (entry); } -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-019.edited b/bash/src/bash43-019 similarity index 97% rename from bash/src/bash43-019.edited rename to bash/src/bash43-019 index 74c5556..a93714b 100644 --- a/bash/src/bash43-019.edited +++ b/bash/src/bash43-019 @@ -67,7 +67,7 @@ Patch (apply with `patch -p0'): + bashline_reset_event_hook (); if (ret == 0) -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-020.edited b/bash/src/bash43-020 similarity index 97% rename from bash/src/bash43-020.edited rename to bash/src/bash43-020 index cbbf63c..5f533ef 100644 --- a/bash/src/bash43-020.edited +++ b/bash/src/bash43-020 @@ -93,7 +93,7 @@ Patch (apply with `patch -p0'): + need_here_doc = ps->need_here_doc; FREE (token); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-021.edited b/bash/src/bash43-021 similarity index 95% rename from bash/src/bash43-021.edited rename to bash/src/bash43-021 index f4e5b76..fd1c945 100644 --- a/bash/src/bash43-021.edited +++ b/bash/src/bash43-021 @@ -35,7 +35,7 @@ Patch (apply with `patch -p0'): entry = previous_history (); --- 470,473 ---- -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-022.edited b/bash/src/bash43-022 similarity index 96% rename from bash/src/bash43-022.edited rename to bash/src/bash43-022 index 6e1520b..7ce39ec 100644 --- a/bash/src/bash43-022.edited +++ b/bash/src/bash43-022 @@ -39,7 +39,7 @@ Patch (apply with `patch -p0'): ! #endif unfreeze_jobs_list (); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-023.edited b/bash/src/bash43-023 similarity index 98% rename from bash/src/bash43-023.edited rename to bash/src/bash43-023 index 5534bb5..d1e4e9d 100644 --- a/bash/src/bash43-023.edited +++ b/bash/src/bash43-023 @@ -87,7 +87,7 @@ Patch (apply with `patch -p0'): ! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/ sindex = t_index; -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-024.edited b/bash/src/bash43-024 similarity index 96% rename from bash/src/bash43-024.edited rename to bash/src/bash43-024 index a06a245..a24b8fb 100644 --- a/bash/src/bash43-024.edited +++ b/bash/src/bash43-024 @@ -37,7 +37,7 @@ Patch (apply with `patch -p0'): ! } else tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-025.edited b/bash/src/bash43-025 similarity index 98% rename from bash/src/bash43-025.edited rename to bash/src/bash43-025 index 5bf5102..721aca0 100644 --- a/bash/src/bash43-025.edited +++ b/bash/src/bash43-025 @@ -106,7 +106,7 @@ Patch (apply with `patch -p0'): ! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0) { temp = nameref_cell (var); -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-026.edited b/bash/src/bash43-026 similarity index 95% rename from bash/src/bash43-026.edited rename to bash/src/bash43-026 index 7010d78..d5d5b1d 100644 --- a/bash/src/bash43-026.edited +++ b/bash/src/bash43-026 @@ -43,7 +43,7 @@ Patch (apply with `patch -p0'): #endif /* HANDLE_MULTIBYTE */ - --- 8542,8543 ---- -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-027.edited b/bash/src/bash43-027 similarity index 99% rename from bash/src/bash43-027.edited rename to bash/src/bash43-027 index c6b7321..ef48bd8 100644 --- a/bash/src/bash43-027.edited +++ b/bash/src/bash43-027 @@ -204,7 +204,7 @@ Patch (apply with `patch -p0'): ! : mk_env_string (var->name, value, function_p (var)); if (USE_EXPORTSTR == 0) -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-028.edited b/bash/src/bash43-028 similarity index 99% rename from bash/src/bash43-028.edited rename to bash/src/bash43-028 index b63eb3a..7448cf8 100644 --- a/bash/src/bash43-028.edited +++ b/bash/src/bash43-028 @@ -2248,7 +2248,7 @@ Patch (apply with `patch -p0'): } #endif /* HANDLE_MULTIBYTE */ + -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-029.edited b/bash/src/bash43-029 similarity index 96% rename from bash/src/bash43-029.edited rename to bash/src/bash43-029 index c1ae5b2..93bd390 100644 --- a/bash/src/bash43-029.edited +++ b/bash/src/bash43-029 @@ -42,7 +42,7 @@ Patch (apply with `patch -p0'): ! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; /*FALLTHROUGH*/ case r_reading_string: -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-030.edited b/bash/src/bash43-030 similarity index 99% rename from bash/src/bash43-030.edited rename to bash/src/bash43-030 index 986bacc..78984da 100644 --- a/bash/src/bash43-030.edited +++ b/bash/src/bash43-030 @@ -2047,7 +2047,7 @@ Patch (apply with `patch -p0'): ! token_to_read = 0; /* Need to find how many characters parse_and_execute consumed, update -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-031.edited b/bash/src/bash43-031 similarity index 98% rename from bash/src/bash43-031.edited rename to bash/src/bash43-031 index 68bdf21..a651956 100644 --- a/bash/src/bash43-031.edited +++ b/bash/src/bash43-031 @@ -95,7 +95,7 @@ Patch (apply with `patch -p0'): ! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF)); } else -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-032.edited b/bash/src/bash43-032 similarity index 96% rename from bash/src/bash43-032.edited rename to bash/src/bash43-032 index 5dd71b6..0843719 100644 --- a/bash/src/bash43-032.edited +++ b/bash/src/bash43-032 @@ -34,7 +34,7 @@ Patch (apply with `patch -p0'): ! queue_sigchld_trap (children_exited); wait_signal_received = SIGCHLD; /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-033.edited b/bash/src/bash43-033 similarity index 99% rename from bash/src/bash43-033.edited rename to bash/src/bash43-033 index ebd6db2..5f5147f 100644 --- a/bash/src/bash43-033.edited +++ b/bash/src/bash43-033 @@ -208,7 +208,7 @@ Patch (apply with `patch -p0'): ! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED)) bashline_set_event_hook (); #endif -*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 *************** *** 26,30 **** diff --git a/bash/src/bash43-034 b/bash/src/bash43-034 new file mode 100644 index 0000000..17372aa --- /dev/null +++ b/bash/src/bash43-034 @@ -0,0 +1,90 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-034 + +Bug-Reported-by: Dreamcat4 +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html + +Bug-Description: + +If neither the -f nor -v options is supplied to unset, and a name argument is +found to be a function and unset, subsequent name arguments are not treated as +variables before attempting to unset a function by that name. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400 +--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400 +*************** +*** 752,758 **** +--- 797,805 ---- + { + int unset_function, unset_variable, unset_array, opt, nameref, any_failed; ++ int global_unset_func, global_unset_var; + char *name; + + unset_function = unset_variable = unset_array = nameref = any_failed = 0; ++ global_unset_func = global_unset_var = 0; + + reset_internal_getopt (); +*************** +*** 762,769 **** + { + case 'f': +! unset_function = 1; + break; + case 'v': +! unset_variable = 1; + break; + case 'n': +--- 809,816 ---- + { + case 'f': +! global_unset_func = 1; + break; + case 'v': +! global_unset_var = 1; + break; + case 'n': +*************** +*** 778,782 **** + list = loptend; + +! if (unset_function && unset_variable) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +--- 825,829 ---- + list = loptend; + +! if (global_unset_func && global_unset_var) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +*************** +*** 796,799 **** +--- 843,849 ---- + name = list->word->word; + ++ unset_function = global_unset_func; ++ unset_variable = global_unset_var; ++ + #if defined (ARRAY_VARS) + unset_array = 0; + +*** ../bash-4.3/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 33 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/src/bash43-035 b/bash/src/bash43-035 new file mode 100644 index 0000000..f18bc60 --- /dev/null +++ b/bash/src/bash43-035 @@ -0,0 +1,63 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-035 + +Bug-Reported-by: +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html + +Bug-Description: + +A locale with a long name can trigger a buffer overflow and core dump. This +applies on systems that do not have locale_charset in libc, are not using +GNU libiconv, and are not using the libintl that ships with bash in lib/intl. + +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 2015-05-01 08:58:30.000000000 -0400 +*************** +*** 79,83 **** + if (s) + { +! strcpy (charsetbuf, s+1); + t = strchr (charsetbuf, '@'); + if (t) +--- 79,84 ---- + if (s) + { +! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + t = strchr (charsetbuf, '@'); + if (t) +*************** +*** 85,89 **** + return charsetbuf; + } +! strcpy (charsetbuf, locale); + return charsetbuf; + } +--- 86,91 ---- + return charsetbuf; + } +! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + return charsetbuf; + } +*** ../bash-4.3/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 34 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/src/bash43-036 b/bash/src/bash43-036 new file mode 100644 index 0000000..5b42c24 --- /dev/null +++ b/bash/src/bash43-036 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-036 + +Bug-Reported-by: emanuelczirai@cryptolab.net +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html + +Bug-Description: + +When evaluating and setting integer variables, and the assignment fails to +create a variable (for example, when performing an operation on an array +variable with an invalid subscript), bash attempts to dereference a null +pointer, causing a segmentation violation. + +Patch (apply with `patch -p0'): + +*** ../bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500 +--- variables.c 2015-02-19 13:56:12.000000000 -0500 +*************** +*** 2834,2841 **** + v = bind_variable (lhs, rhs, 0); + +! if (v && isint) +! VSETATTR (v, att_integer); +! +! VUNSETATTR (v, att_invisible); + + return (v); +--- 2834,2843 ---- + v = bind_variable (lhs, rhs, 0); + +! if (v) +! { +! if (isint) +! VSETATTR (v, att_integer); +! VUNSETATTR (v, att_invisible); +! } + + return (v); +*** ../bash-4.3/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 35 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/src/bash43-037 b/bash/src/bash43-037 new file mode 100644 index 0000000..f04012b --- /dev/null +++ b/bash/src/bash43-037 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-037 + +Bug-Reported-by: Greg Wooledge +Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html + +Bug-Description: + +If an associative array uses `@' or `*' as a subscript, `declare -p' produces +output that cannot be reused as input. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400 +--- assoc.c 2015-02-04 15:28:25.000000000 -0500 +*************** +*** 437,440 **** +--- 440,445 ---- + if (sh_contains_shell_metas (tlist->key)) + istr = sh_double_quote (tlist->key); ++ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0') ++ 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 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/src/bash43-038 b/bash/src/bash43-038 new file mode 100644 index 0000000..e0de74e --- /dev/null +++ b/bash/src/bash43-038 @@ -0,0 +1,88 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-038 + +Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley) +Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html + +Bug-Description: + +There are a number of instances where `time' is not recognized as a reserved +word when the shell grammar says it should be. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 +--- parse.y 2014-06-11 10:25:53.000000000 -0400 +*************** +*** 2819,2827 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 2819,2832 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! 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 2015-05-19 15:08:43.000000000 -0400 +*************** +*** 5131,5139 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 5131,5144 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! 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 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/src/bash43-039 b/bash/src/bash43-039 new file mode 100644 index 0000000..e5e3887 --- /dev/null +++ b/bash/src/bash43-039 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-039 + +Bug-Reported-by: SN +Bug-Reference-ID: <54E2554C.205@gazeta.pl> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html + +Bug-Description: + +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. + +Patch (apply with `patch -p0'): + +*** /usr/src/local/bash/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400 +--- arrayfunc.c 2015-02-19 14:33:05.000000000 -0500 +*************** +*** 405,408 **** +--- 405,411 ---- + else + array_insert (a, i, l->word->word); ++ ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return var; + } +*************** +*** 635,638 **** +--- 638,645 ---- + if (nlist) + dispose_words (nlist); ++ ++ if (var) ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return (var); + } +*** ../bash-4.3/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 38 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */