diff options
author | Hans-Nikolai Viessmann | 2022-05-01 10:53:18 +0200 |
---|---|---|
committer | Hans-Nikolai Viessmann | 2022-05-01 10:53:18 +0200 |
commit | 0882cc73a3e14e4586bc7f86d622140637c36fa5 (patch) | |
tree | c262984065d84ff821ee8b4f9a4953ad4bf2b95d | |
parent | 69a567011436587205b24d7b900b7fc95feb3da5 (diff) | |
download | aur-0882cc73a3e14e4586bc7f86d622140637c36fa5.tar.gz |
add workaround from bugs.archlinux.org/task/74041
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch | 43 | ||||
-rw-r--r-- | PKGBUILD | 11 |
3 files changed, 54 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = moc-pulse pkgdesc = An ncurses console audio player with support for pulseaudio pkgver = 2.5.2 - pkgrel = 7 + pkgrel = 8 url = https://moc.daper.net/ arch = x86_64 license = GPL @@ -33,9 +33,11 @@ pkgbase = moc-pulse source = pulseaudio.patch source = moc-ffmpeg4.patch source = moc-https.patch + source = 0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch sha1sums = 9d27a929b63099416263471c16367997c0ae6dba sha1sums = 5c6385760ba40ee8a330d28d520c44eac2cbbae1 sha1sums = 007a0580ac754e1c318a0d0b6f0d403883797eaf sha1sums = e3362ddd41126e2be874cd372a053fdaccf0f616 + sha1sums = d3673707b2d96c34287042dc26698b2c5a00952a pkgname = moc-pulse diff --git a/0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch b/0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch new file mode 100644 index 000000000000..c3515c4475fe --- /dev/null +++ b/0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch @@ -0,0 +1,43 @@ +From 78556fc13026220f800384accf04e139f11e099a Mon Sep 17 00:00:00 2001 +From: Joan Bruguera <joanbrugueram@gmail.com> +Date: Thu, 17 Feb 2022 22:27:34 +0100 +Subject: [PATCH] Workaround mbsrtowcs fortify crash in GLIBC 2.35 + +Reproduces with: + gcc -O2 -Wp,-D_FORTIFY_SOURCE=2 test.c -o test && ./test + +And test.c: + #include <stdio.h> + #include <stdlib.h> + #include <wchar.h> + + int main (void) + { + const char *hw = "HelloWorld"; + mbstate_t ps = {0}; + mbsrtowcs (NULL, &hw, (size_t)-1, &ps); + return 0; + } + +Output: + *** buffer overflow detected ***: terminated +--- + utf8.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utf8.c b/utf8.c +index 2db18f2..806d528 100644 +--- a/utf8.c ++++ b/utf8.c +@@ -167,7 +167,7 @@ static size_t xmbstowcs (wchar_t *dest, const char *src, size_t len, + while (src && (len || !dest)) { + size_t res; + +- res = mbsrtowcs (dest, &src, len, &ps); ++ res = mbsrtowcs (dest, &src, dest ? len : 0, &ps); + if (res != (size_t)-1) { + count += res; + src = NULL; +-- +2.35.1 + @@ -5,7 +5,7 @@ pkgname='moc-pulse' _pkgname='moc' pkgver=2.5.2 -pkgrel=7 +pkgrel=8 pkgdesc='An ncurses console audio player with support for pulseaudio' arch=('x86_64') url="https://moc.daper.net/" @@ -24,11 +24,13 @@ conflicts=('moc') source=("https://sources.voidlinux-ppc.org/moc-2.5.2/${_pkgname}-${pkgver}.tar.bz2" 'pulseaudio.patch' 'moc-ffmpeg4.patch' - 'moc-https.patch') + 'moc-https.patch' + '0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch') sha1sums=('9d27a929b63099416263471c16367997c0ae6dba' '5c6385760ba40ee8a330d28d520c44eac2cbbae1' '007a0580ac754e1c318a0d0b6f0d403883797eaf' - 'e3362ddd41126e2be874cd372a053fdaccf0f616') + 'e3362ddd41126e2be874cd372a053fdaccf0f616' + 'd3673707b2d96c34287042dc26698b2c5a00952a') # validpgpkeys=('59359B80406D9E73E80599BEF3121E4F2885A7AA') prepare() { @@ -41,6 +43,9 @@ prepare() { # Add pulseaudio backend patch -p1 -i ../pulseaudio.patch + # HOTFIX for GLIBC 2.35 buffer overflow error + patch -p1 -i ../0001-Workaround-mbsrtowcs-fortify-crash-in-GLIBC-2.35.patch + # reconfigure the build system autoreconf -i -f } |