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 <ps.report@gmx.net>
Tested-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Peter Seiderer 2023-03-22 17:25:38 +01:00 committed by Yann E. MORIN
parent 4f38b5dcbd
commit 2dff6e93ca

View File

@ -0,0 +1,41 @@
From b8d91eab12603fa88e095248855f5f772d182d05 Mon Sep 17 00:00:00 2001
From: Chet Ramey <chet.ramey@case.edu>
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 <ps.report@gmx.net>
---
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