From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Subject: [PATCH] bash: Update to include patches 22 to 26
Date: Tue, 30 Jan 2024 23:13:40 +0100 [thread overview]
Message-ID: <20240130221345.1710154-2-adolf.belka@ipfire.org> (raw)
In-Reply-To: <20240130221345.1710154-1-adolf.belka@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 12563 bytes --]
- Update from version 5.2 with patches 1 to 21 to 5.2 with patches 1 to 26
- Update of rootfile not required
- Changelog
Patch 26
The custom color prefix that readline uses to color possible completions
must have a leading `.'.
Patch 25
Make sure a subshell checks for and handles any terminating signals before
exiting (which might have arrived after the command completed) so the parent
and any EXIT trap will see the correct value for $?.
Patch 24
Fix bug where associative array compound assignment would not expand tildes
in values.
Patch 23
Running `local -' multiple times in a shell function would overwrite the
original saved set of options.
Patch 22
It's possible for readline to try to zero out a line that's not null-
terminated, leading to a memory fault.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
lfs/bash | 4 +-
src/patches/bash/bash52-022 | 53 ++++++++++++++++++++++
src/patches/bash/bash52-023 | 64 +++++++++++++++++++++++++++
src/patches/bash/bash52-024 | 88 +++++++++++++++++++++++++++++++++++++
src/patches/bash/bash52-025 | 46 +++++++++++++++++++
src/patches/bash/bash52-026 | 48 ++++++++++++++++++++
6 files changed, 301 insertions(+), 2 deletions(-)
create mode 100644 src/patches/bash/bash52-022
create mode 100644 src/patches/bash/bash52-023
create mode 100644 src/patches/bash/bash52-024
create mode 100644 src/patches/bash/bash52-025
create mode 100644 src/patches/bash/bash52-026
diff --git a/lfs/bash b/lfs/bash
index 80d4f244b..c66f6a8e1 100644
--- a/lfs/bash
+++ b/lfs/bash
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2023 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2024 IPFire Team <info(a)ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -91,7 +91,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-profile-1.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-3.2-ssh_source_bash.patch
- for i in $$(seq 1 21); do \
+ for i in $$(seq 1 26); do \
cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash52-$$(printf "%03d" "$${i}") || exit 1; \
done
diff --git a/src/patches/bash/bash52-022 b/src/patches/bash/bash52-022
new file mode 100644
index 000000000..557d38706
--- /dev/null
+++ b/src/patches/bash/bash52-022
@@ -0,0 +1,53 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-022
+
+Bug-Reported-by: srobertson(a)peratonlabs.com
+Bug-Reference-ID:
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-09/msg00049.html
+
+Bug-Description:
+
+It's possible for readline to try to zero out a line that's not null-
+terminated, leading to a memory fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2-patched/lib/readline/display.c 2022-04-05 10:47:31.000000000 -0400
+--- lib/readline/display.c 2022-12-13 13:11:22.000000000 -0500
+***************
+*** 2684,2692 ****
+
+ if (visible_line)
+! {
+! temp = visible_line;
+! while (*temp)
+! *temp++ = '\0';
+! }
+ rl_on_new_line ();
+ forced_display++;
+--- 2735,2740 ----
+
+ if (visible_line)
+! memset (visible_line, 0, line_size);
+!
+ rl_on_new_line ();
+ forced_display++;
+
+*** ../bash-5.2/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 21
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash52-023 b/src/patches/bash/bash52-023
new file mode 100644
index 000000000..07ba4ae43
--- /dev/null
+++ b/src/patches/bash/bash52-023
@@ -0,0 +1,64 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-023
+
+Bug-Reported-by: Emanuele Torre <torreemanuele6(a)gmail.com>
+Bug-Reference-ID: <20230206140824.1710288-1-torreemanuele6(a)gmail.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-02/msg00045.html
+
+Bug-Description:
+
+Running `local -' multiple times in a shell function would overwrite the
+original saved set of options.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2-patched/builtins/declare.def 2023-01-04 20:40:28.000000000 -0500
+--- builtins/declare.def 2023-02-08 15:36:49.000000000 -0500
+***************
+*** 421,429 ****
+ if (local_var && variable_context && STREQ (name, "-"))
+ {
+ var = make_local_variable ("-", 0);
+! FREE (value_cell (var)); /* just in case */
+! value = get_current_options ();
+! var_setvalue (var, value);
+! VSETATTR (var, att_invisible);
+ NEXT_VARIABLE ();
+ }
+--- 421,437 ----
+ if (local_var && variable_context && STREQ (name, "-"))
+ {
++ int o;
++
++ o = localvar_inherit;
++ localvar_inherit = 0;
+ var = make_local_variable ("-", 0);
+! localvar_inherit = o;
+!
+! if (value_cell (var) == NULL) /* no duplicate instances */
+! {
+! value = get_current_options ();
+! var_setvalue (var, value);
+! VSETATTR (var, att_invisible);
+! }
+ NEXT_VARIABLE ();
+ }
+
+*** ../bash-5.2/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 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash52-024 b/src/patches/bash/bash52-024
new file mode 100644
index 000000000..8cc49e878
--- /dev/null
+++ b/src/patches/bash/bash52-024
@@ -0,0 +1,88 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-024
+
+Bug-Reported-by: Marco <maroloccio(a)gmail.com>
+Bug-Reference-ID: <eaf9af76-c4ed-8b61-c517-22ed980529d3(a)gmail.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-02/msg00044.html
+
+Bug-Description:
+
+Fix bug where associative array compound assignment would not expand tildes
+in values.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20230105/arrayfunc.c Thu Jan 5 14:23:28 2023
+--- arrayfunc.c Wed Feb 8 16:27:48 2023
+***************
+*** 651,655 ****
+ }
+
+! aval = expand_subscript_string (v, 0);
+ if (aval == 0)
+ {
+--- 651,655 ----
+ }
+
+! aval = expand_assignment_string_to_string (v, 0);
+ if (aval == 0)
+ {
+***************
+*** 843,847 ****
+ if (assoc_p (var))
+ {
+! val = expand_subscript_string (val, 0);
+ if (val == 0)
+ {
+--- 843,847 ----
+ if (assoc_p (var))
+ {
+! val = expand_assignment_string_to_string (val, 0);
+ if (val == 0)
+ {
+***************
+*** 1031,1035 ****
+ nword[i++] = w[ind++];
+
+! t = expand_subscript_string (w+ind, 0);
+ s = (t && strchr (t, CTLESC)) ? quote_escapes (t) : t;
+ value = sh_single_quote (s ? s : "");
+--- 1031,1035 ----
+ nword[i++] = w[ind++];
+
+! t = expand_assignment_string_to_string (w+ind, 0);
+ s = (t && strchr (t, CTLESC)) ? quote_escapes (t) : t;
+ value = sh_single_quote (s ? s : "");
+*** ../bash-20230201/subst.c Mon Jan 30 16:19:46 2023
+--- subst.c Mon Feb 6 16:25:22 2023
+***************
+*** 10803,10807 ****
+--- 10803,10811 ----
+ ret = (char *)NULL;
+
++ #if 0
+ td.flags = W_NOPROCSUB|W_NOTILDE|W_NOSPLIT2; /* XXX - W_NOCOMSUB? */
++ #else
++ td.flags = W_NOPROCSUB|W_NOSPLIT2; /* XXX - W_NOCOMSUB? */
++ #endif
+ td.word = savestring (string); /* in case it's freed on error */
+
+
+*** ../bash-5.2/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 23
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 24
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash52-025 b/src/patches/bash/bash52-025
new file mode 100644
index 000000000..4e293f9d3
--- /dev/null
+++ b/src/patches/bash/bash52-025
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-025
+
+Bug-Reported-by: Andrew Neff <andrew.neff(a)visionsystemsinc.com>
+Bug-Reference-ID: <SA1P110MB1357F68AFD51BB225019EFF48D2B9(a)SA1P110MB1357.NAMP110.PROD.OUTLOOK.COM>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00100.html
+
+Bug-Description:
+
+Make sure a subshell checks for and handles any terminating signals before
+exiting (which might have arrived after the command completed) so the parent
+and any EXIT trap will see the correct value for $?.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2.9/execute_cmd.c 2022-11-02 10:36:54.000000000 -0400
+--- execute_cmd.c 2022-10-27 16:52:55.000000000 -0400
+***************
+*** 1726,1729 ****
+--- 1726,1732 ----
+ : EXECUTION_SUCCESS;
+
++ /* Check for terminating signals before we return to our caller, which we
++ expect to exit immediately anyway. */
++ CHECK_TERMSIG;
+
+ /* If we were explicitly placed in a subshell with (), we need
+
+*** ../bash-5.2/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 24
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 25
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash52-026 b/src/patches/bash/bash52-026
new file mode 100644
index 000000000..bd0f5d0d2
--- /dev/null
+++ b/src/patches/bash/bash52-026
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-026
+
+Bug-Reported-by: Stefan Klinger <readline-gnu.org(a)stefan-klinger.de>
+Bug-Reference-ID:
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2023-08/msg00018.html
+
+Bug-Description:
+
+The custom color prefix that readline uses to color possible completions
+must have a leading `.'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2-patched/lib/readline/colors.c 2021-12-08 11:38:25.000000000 -0500
+--- lib/readline/colors.c 2023-08-28 16:40:04.000000000 -0400
+***************
+*** 74,78 ****
+ static void restore_default_color (void);
+
+! #define RL_COLOR_PREFIX_EXTENSION "readline-colored-completion-prefix"
+
+ COLOR_EXT_TYPE *_rl_color_ext_list = 0;
+--- 74,78 ----
+ static void restore_default_color (void);
+
+! #define RL_COLOR_PREFIX_EXTENSION ".readline-colored-completion-prefix"
+
+ COLOR_EXT_TYPE *_rl_color_ext_list = 0;
+
+*** ../bash-5.2/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 25
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
--
2.43.0
next prev parent reply other threads:[~2024-01-30 22:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 22:13 [PATCH] acl: Update to version 2.3.2 Adolf Belka
2024-01-30 22:13 ` Adolf Belka [this message]
2024-01-30 22:13 ` [PATCH] glib: Update to version 2.79.1 Adolf Belka
2024-01-30 22:13 ` [PATCH] libpng: Update to version 1.6.41 Adolf Belka
2024-01-30 22:13 ` [PATCH] openssl: Update to version 3.2.1 Adolf Belka
2024-01-30 22:13 ` [PATCH] xz: Update to version 5.4.6 Adolf Belka
2024-01-30 22:13 ` [PATCH] zlib: Update to version 1.3.1 Adolf Belka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240130221345.1710154-2-adolf.belka@ipfire.org \
--to=adolf.belka@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox