From 6903ff55c6d09448c3729423251670cc041efd7b Mon Sep 17 00:00:00 2001 From: Andreas Wacknitz <A.Wacknitz@gmx.de> Date: Fri, 07 Jan 2022 08:20:10 +0100 Subject: [PATCH] bash: update to 5.1p16 --- components/shell/bash/patches/bash51-015.patch | 49 ++++++++++++ components/shell/bash/Makefile | 2 components/shell/bash/patches/bash51-013.patch | 43 ++++++++++ components/shell/bash/patches/bash51-014.patch | 48 ++++++++++++ components/shell/bash/patches/bash51-016.patch | 64 ++++++++++++++++ 5 files changed, 205 insertions(+), 1 deletions(-) diff --git a/components/shell/bash/Makefile b/components/shell/bash/Makefile index 9995aba..9d38d8b 100644 --- a/components/shell/bash/Makefile +++ b/components/shell/bash/Makefile @@ -37,7 +37,7 @@ COMPONENT_PROJECT_URL= https://www.gnu.org/software/bash/ COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH = sha256:cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa -COMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/bash/$(COMPONENT_ARCHIVE) +COMPONENT_ARCHIVE_URL= https://ftp.gnu.org/gnu/bash/$(COMPONENT_ARCHIVE) COMPONENT_LICENSE= GPLv3, FDLv1.2 include $(WS_MAKE_RULES)/common.mk diff --git a/components/shell/bash/patches/bash51-013.patch b/components/shell/bash/patches/bash51-013.patch new file mode 100644 index 0000000..f2413a5 --- /dev/null +++ b/components/shell/bash/patches/bash51-013.patch @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-013 + +Bug-Reported-by: Anders Kaseorg <andersk@mit.edu> +Bug-Reference-ID: <de65540274064d7b95f17e9c46a3a6d8@oc11expo7.exchange.mit.edu> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-11/msg00025.html + +Bug-Description: + +Bash did not always perform tilde expansion following an unquoted colon on +the rhs of an assignment statement in posix mode. + +Patch (apply with `patch -p0'): + +*** ../bash-20211028/subst.c 2021-10-18 16:09:58.000000000 -0400 +--- subst.c 2021-11-30 11:19:47.000000000 -0500 +*************** +*** 3826,3829 **** +--- 3826,3830 ---- + td.flags = W_ASSIGNRHS; + #endif ++ td.flags |= (W_NOGLOB|W_TILDEEXP); + td.word = savestring (string); + value = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL); + +*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/components/shell/bash/patches/bash51-014.patch b/components/shell/bash/patches/bash51-014.patch new file mode 100644 index 0000000..cd8df23 --- /dev/null +++ b/components/shell/bash/patches/bash51-014.patch @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-014 + +Bug-Reported-by: platon7pronko@gmail.com +Bug-Reference-ID: +Bug-Reference-URL: https://savannah.gnu.org/patch/?10035 + +Bug-Description: + +Bash may produce corrupted input if a multibyte character spans a 512-byte +boundary while reading the output of a command substitution. + +Patch (apply with `patch -p0'): + +*** ../bash-20210217/subst.c 2021-02-03 10:32:08.000000000 -0500 +--- subst.c 2021-03-01 16:47:52.000000000 -0500 +*************** +*** 6243,6247 **** + /* punt on the hard case for now */ + memset (&ps, '\0', sizeof (mbstate_t)); +! mblen = mbrtowc (&wc, bufp-1, bufn+1, &ps); + if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) + istring[istring_index++] = c; +--- 6243,6247 ---- + /* punt on the hard case for now */ + memset (&ps, '\0', sizeof (mbstate_t)); +! mblen = mbrtowc (&wc, bufp-1, bufn, &ps); + if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) + istring[istring_index++] = c; + +*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/components/shell/bash/patches/bash51-015.patch b/components/shell/bash/patches/bash51-015.patch new file mode 100644 index 0000000..5ae6581 --- /dev/null +++ b/components/shell/bash/patches/bash51-015.patch @@ -0,0 +1,49 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-015 + +Bug-Reported-by: Volodymyr Prodan <vovcat@gmail.com> +Bug-Reference-ID: +Bug-Reference-URL: https://savannah.gnu.org/patch/?10076 + +Bug-Description: + +Patch (apply with `patch -p0'): + +There are some characters (e.g., cyrillic) that can't be displayed using +certain single-byte encodings (e.g., cp1251) because the negative signed +int is interpreted as EOF and not displayed. + +*** ../bash-20210524/lib/readline/display.c 2021-03-16 18:12:20.000000000 -0400 +--- lib/readline/display.c 2021-06-07 16:53:08.000000000 -0400 +*************** +*** 1599,1603 **** + + for (cur_face = FACE_NORMAL, i = 0; i < n; i++) +! putc_face (str[i], face[i], &cur_face); + putc_face (EOF, FACE_NORMAL, &cur_face); + } +--- 1599,1603 ---- + + for (cur_face = FACE_NORMAL, i = 0; i < n; i++) +! putc_face ((unsigned char) str[i], face[i], &cur_face); + putc_face (EOF, FACE_NORMAL, &cur_face); + } + +*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/components/shell/bash/patches/bash51-016.patch b/components/shell/bash/patches/bash51-016.patch new file mode 100644 index 0000000..4694498 --- /dev/null +++ b/components/shell/bash/patches/bash51-016.patch @@ -0,0 +1,64 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-016 + +Bug-Reported-by: Vincent Menegaux <vincent.menegaux@gmail.com> +Bug-Reference-ID: +Bug-Reference-URL: https://savannah.gnu.org/patch/?10070 + +Bug-Description: + +Multiple `!' tokens should toggle negation of an expression in a [[ +conditional command, instead of simply negating the expression. + +Patch (apply with `patch -p0'): + +*** ../bash-20210515/parse.y 2021-04-21 15:32:50.000000000 -0400 +--- parse.y 2021-05-24 11:53:30.000000000 -0400 +*************** +*** 4797,4801 **** + term = cond_term (); + if (term) +! term->flags |= CMD_INVERT_RETURN; + } + else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) +--- 4797,4801 ---- + term = cond_term (); + if (term) +! term->flags ^= CMD_INVERT_RETURN; + } + else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) + +*** ../bash-20210515/y.tab.c 2021-05-14 15:50:41.000000000 -0400 +--- y.tab.c 2021-05-24 16:35:55.000000000 -0400 +*************** +*** 7091,7095 **** + term = cond_term (); + if (term) +! term->flags |= CMD_INVERT_RETURN; + } + else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) +--- 7091,7095 ---- + term = cond_term (); + if (term) +! term->flags ^= CMD_INVERT_RETURN; + } + else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) + +*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ -- Gitblit v1.9.3