summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/glibc-locale-incompatibility.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-08-04 08:16:38 -0400
committerMark H Weaver <mhw@netris.org>2016-08-04 08:16:38 -0400
commit0832787e5c463c713d8f24fdec0f52900ff1c2bd (patch)
tree5ce20bef711d0d85a22cd041758278d7c176b0f3 /gnu/packages/patches/glibc-locale-incompatibility.patch
parent5b098cc4b937c05d6f685772c66e2aa04490710a (diff)
Revert "Merge branch 'core-updates'"
This reverts commit 455859a50f88f625d13fc2f304111f02369b366b.
Diffstat (limited to 'gnu/packages/patches/glibc-locale-incompatibility.patch')
-rw-r--r--gnu/packages/patches/glibc-locale-incompatibility.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/patches/glibc-locale-incompatibility.patch b/gnu/packages/patches/glibc-locale-incompatibility.patch
new file mode 100644
index 0000000000..baf30a79a7
--- /dev/null
+++ b/gnu/packages/patches/glibc-locale-incompatibility.patch
@@ -0,0 +1,23 @@
+This patch avoids an assertion failure when incompatible locale data
+is encountered:
+
+ https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html
+
+--- glibc-2.22/locale/loadlocale.c 2015-09-22 17:16:02.321981548 +0200
++++ glibc-2.22/locale/loadlocale.c 2015-09-22 17:17:34.814659064 +0200
+@@ -120,10 +120,11 @@
+ _nl_value_type_LC_XYZ array. There are all pointers. */
+ switch (category)
+ {
+-#define CATTEST(cat) \
+- case LC_##cat: \
+- assert (cnt < (sizeof (_nl_value_type_LC_##cat) \
+- / sizeof (_nl_value_type_LC_##cat[0]))); \
++#define CATTEST(cat) \
++ case LC_##cat: \
++ if (cnt >= (sizeof (_nl_value_type_LC_##cat) \
++ / sizeof (_nl_value_type_LC_##cat[0]))) \
++ goto puntdata; \
+ break
+ CATTEST (NUMERIC);
+ CATTEST (TIME);