unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob baf30a79a71032827c861560a56a3e8f00f24354 808 bytes (raw)
name: packages/patches/glibc-locale-incompatibility.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);

debug log:

solving baf30a79a71032827c861560a56a3e8f00f24354 ...
found baf30a79a71032827c861560a56a3e8f00f24354 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).