mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
glibc: Fix assertion failure when using incompatible locale data
Borrowed from http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch https://github.com/NixOS/nix/issues/599 We may also want to apply http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/glibc-versioned-locpath.patch but we'll need to ditch locale-archive first. (Apparently locale-archive is not very useful anymore anyway.)
This commit is contained in:
parent
c20b6846f2
commit
6a766f47c2
@ -61,6 +61,8 @@ stdenv.mkDerivation ({
|
|||||||
./security-bdf1ff05.patch
|
./security-bdf1ff05.patch
|
||||||
./cve-2014-8121.patch
|
./cve-2014-8121.patch
|
||||||
./cve-2015-1781.patch
|
./cve-2015-1781.patch
|
||||||
|
|
||||||
|
./glibc-locale-incompatibility.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch
|
||||||
|
|
||||||
|
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);
|
Loading…
Reference in New Issue
Block a user