From 420ff179962a40e5dc06fb2928c6befd8b93de6e Mon Sep 17 00:00:00 2001 From: licihua Date: Sat, 29 Oct 2022 05:33:23 -0400 Subject: [PATCH] back port patch:fix crash in readline when started with an invalid locale specification (cherry picked from commit e682d10155d381cd832cff249426bbe1e56918d8) --- ...eadline-when-started-with-an-invalid.patch | 52 +++++++++++++++++++ bash.spec | 9 +++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 backport-fix-crash-in-readline-when-started-with-an-invalid.patch diff --git a/backport-fix-crash-in-readline-when-started-with-an-invalid.patch b/backport-fix-crash-in-readline-when-started-with-an-invalid.patch new file mode 100644 index 0000000..0a3d0e1 --- /dev/null +++ b/backport-fix-crash-in-readline-when-started-with-an-invalid.patch @@ -0,0 +1,52 @@ +From a99d905216cc0aac5de0c3050f4afc54e21c6bc5 Mon Sep 17 00:00:00 2001 +From: Chet Ramey +Date: Wed, 5 Oct 2022 10:37:38 -0400 +Subject: [PATCH] Bash-5.2 patch 2: fix crash in readline when started with an + invalid locale specification + +--- + lib/readline/nls.c | 8 +++++++- + patchlevel.h | 2 +- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/lib/readline/nls.c b/lib/readline/nls.c +index d2f67e0..5d1cd19 100644 +--- a/lib/readline/nls.c ++++ b/lib/readline/nls.c +@@ -56,6 +56,8 @@ + + static int utf8locale PARAMS((char *)); + ++#define RL_DEFAULT_LOCALE "C" ++ + #if !defined (HAVE_SETLOCALE) + /* A list of legal values for the LANG or LC_CTYPE environment variables. + If a locale name in this list is the value for the LC_ALL, LC_CTYPE, +@@ -136,7 +138,11 @@ _rl_init_locale (void) + if (lspec == 0) + lspec = ""; + ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ +- ++ if (ret == 0 || *ret == 0) ++ ret = setlocale (LC_CTYPE, (char *)NULL); ++ if (ret == 0 || *ret == 0) ++ ret = RL_DEFAULT_LOCALE; ++ + _rl_utf8locale = (ret && *ret) ? utf8locale (ret) : 0; + + return ret; +diff --git a/patchlevel.h b/patchlevel.h +index 10fde2e..17586ff 100644 +--- a/patchlevel.h ++++ b/patchlevel.h +@@ -25,6 +25,6 @@ + regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh + looks for to find the patch level (for the sccs version string). */ + +-#define PATCHLEVEL 8 ++#define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +-- +2.35.1 + diff --git a/bash.spec b/bash.spec index db49859..37f016b 100644 --- a/bash.spec +++ b/bash.spec @@ -1,6 +1,6 @@ Name: bash Version: 5.1.8 -Release: 4 +Release: 5 Summary: It is the Bourne Again Shell License: GPLv3 URL: https://www.gnu.org/software/bash @@ -24,6 +24,7 @@ Patch137: bugfix-Forbidden-non-root-user-to-clear-history.patch Patch138: enable-dot-logout-and-source-bashrc-through-ssh.patch Patch139: cd-alias.patch Patch140: bash-5.1-sw.patch +Patch141: backport-fix-crash-in-readline-when-started-with-an-invalid.patch BuildRequires: gcc bison texinfo autoconf ncurses-devel # Required for bash tests @@ -117,6 +118,12 @@ make check %exclude %{_infodir}/dir %changelog +* Sat Oct 29 2022 licihua -5.1.8-5 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: fix crash in readline when started with an invalid locale specification + * Mon Aug 15 2022 panxiaohe - 5.1.8-4 - fix bugfix-Forbidden-non-root-user-to-clear-history.patch -- Gitee