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 | 4 ++++ patchlevel.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/readline/nls.c b/lib/readline/nls.c index 5c6a13b6e..8c027d6be 100644 --- a/lib/readline/nls.c +++ b/lib/readline/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.h b/patchlevel.h index c0dbb500d..d465c2443 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 1 +#define PATCHLEVEL 2 #endif /* _PATCHLEVEL_H_ */ -- 2.47.3