From 2dff6e93ca2a675cebe5cfb6d864ff5da78a4ef4 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Wed, 22 Mar 2023 17:25:38 +0100 Subject: [PATCH] package/readline: add upstream patch to fix crash with invalid locale specification Add upstream patch to fix crash with invalid locale specification (see [1] for details). Fixes: - https://bugs.busybox.net/show_bug.cgi?id=15456 [1] https://lists.gnu.org/archive/html/bug-readline/2022-10/msg00002.html Signed-off-by: Peter Seiderer Tested-by: Stefan Agner Signed-off-by: Yann E. MORIN --- ...ch-1-fix-crash-when-readline-is-star.patch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch diff --git a/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch b/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch new file mode 100644 index 0000000000..b0f784b8ba --- /dev/null +++ b/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch @@ -0,0 +1,41 @@ +From b8d91eab12603fa88e095248855f5f772d182d05 Mon Sep 17 00:00:00 2001 +From: Chet Ramey +Date: Wed, 5 Oct 2022 10:41:16 -0400 +Subject: [PATCH] Readline-8.2 patch 1: fix crash when readline is started with + an invalid locale specification + +[Upstream: https://git.savannah.gnu.org/cgit/readline.git/patch/?id=7274faabe97ce53d6b464272d7e6ab6c1392837b + Stripped unrelated ._.gitignore change] +Signed-off-by: Peter Seiderer +--- + nls.c | 4 ++++ + patchlevel | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/nls.c b/nls.c +index 5c6a13b..8c027d6 100644 +--- a/nls.c ++++ b/nls.c +@@ -141,6 +141,10 @@ _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; + #else + ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec; + #endif +diff --git a/patchlevel b/patchlevel +index d8c9df7..fdf4740 100644 +--- a/patchlevel ++++ b/patchlevel +@@ -1,3 +1,3 @@ + # Do not edit -- exists only for use by patch + +-0 ++1 +-- +2.39.2 +