Message ID | 20230322162538.19202-1-ps.report@gmx.net |
---|---|
State | Accepted |
Headers | show |
Series | [v1] package/readline: add upstream patch to fix crash with invalid locale specification | expand |
On 2023-03-22 17:25, Peter Seiderer wrote: > 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> This fixes a crash seen with bluetoothctl here. Tested-by: Stefan Agner <stefan@agner.ch> Ideally this should be applied to to LTS Buildroot 2023.02 too. -- Stefan > --- > ...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 <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 > +
Peter, All, On 2023-03-22 17:25 +0100, Peter Seiderer spake thusly: > 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> Applied to master, thanks. Regards, 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 <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 > + > -- > 2.39.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Stefan, All, +Peter K, for backport. On 2023-04-24 19:34 +0200, Stefan Agner spake thusly: > On 2023-03-22 17:25, Peter Seiderer wrote: > > 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> > > This fixes a crash seen with bluetoothctl here. And it also makes bash segfault when there is no locale set, and none available (it seems). I'll try to cook up a runtime test for bash that catches the no-locale setup. > Tested-by: Stefan Agner <stefan@agner.ch> > Ideally this should be applied to to LTS Buildroot 2023.02 too. Yes. Regards, Yann E. MORIN. > -- > Stefan > > > --- > > ...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 <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 > > + > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
>>>>> "Stefan" == Stefan Agner <stefan@agner.ch> writes: > On 2023-03-22 17:25, Peter Seiderer wrote: >> 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> > This fixes a crash seen with bluetoothctl here. > Tested-by: Stefan Agner <stefan@agner.ch> > Ideally this should be applied to to LTS Buildroot 2023.02 too. Committed to 2023.02.x, thanks.
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 <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 +
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> --- ...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