From cb6210cb1a39b9979fa3c399dd9e3ac05571e6e1 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Fri, 5 Jun 2015 18:32:05 +0200 Subject: [PATCH] musl: add musl-1.1.10-uselocale-0-fix.diff. --- .../patches/musl-1.1.10-uselocale-0-fix.diff | 26 +++++++++++++++++++ srcpkgs/musl/template | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/musl/patches/musl-1.1.10-uselocale-0-fix.diff diff --git a/srcpkgs/musl/patches/musl-1.1.10-uselocale-0-fix.diff b/srcpkgs/musl/patches/musl-1.1.10-uselocale-0-fix.diff new file mode 100644 index 0000000000..f05fe0a2d4 --- /dev/null +++ b/srcpkgs/musl/patches/musl-1.1.10-uselocale-0-fix.diff @@ -0,0 +1,26 @@ +From 63f4b9f18f3674124d8bcb119739fec85e6da005 Mon Sep 17 00:00:00 2001 +From: Timo Teräs +Date: Fri, 05 Jun 2015 07:39:42 +0000 +Subject: fix uselocale((locale_t)0) not to modify locale + +commit 68630b55c0c7219fe9df70dc28ffbf9efc8021d8 made the new locale to +be assigned unconditonally resulting in crashes later on. +--- +diff --git src/locale/uselocale.c src/locale/uselocale.c +index b70a0c1..0fc5ecb 100644 +--- src/locale/uselocale.c ++++ src/locale/uselocale.c +@@ -8,9 +8,7 @@ locale_t __uselocale(locale_t new) + locale_t old = self->locale; + locale_t global = &libc.global_locale; + +- if (new == LC_GLOBAL_LOCALE) new = global; +- +- self->locale = new; ++ if (new) self->locale = new == LC_GLOBAL_LOCALE ? global : new; + + return old == global ? LC_GLOBAL_LOCALE : old; + } +-- +cgit v0.9.0.3-65-g4555 + diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template index 13b1ef1923..48558e43a3 100644 --- a/srcpkgs/musl/template +++ b/srcpkgs/musl/template @@ -1,7 +1,7 @@ # Template file for 'musl'. pkgname=musl version=1.1.10 -revision=1 +revision=2 build_style=gnu-configure configure_args="--prefix=/usr --disable-gcc-wrapper" conflicts="glibc>=0"