diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2020-02-12 20:34:37 +0100 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2020-02-12 21:31:14 +0100 |
commit | de10d698c771916add10ea54c5c63d1f37860e9d (patch) | |
tree | db7fab5c35c02edc52979cae9a5f8597fd3987ba /main/cdparanoia | |
parent | e43c2c7582aaa5de534ce83f2da2a540f4a0f78c (diff) | |
download | aports-de10d698c771916add10ea54c5c63d1f37860e9d.zip |
main/cdparanoia: fix segmentation fault
This occurs when no CD drives are accessible to the user as musl does
not support invoking cuserid with a NULL pointer argument.
Diffstat (limited to 'main/cdparanoia')
-rw-r--r-- | main/cdparanoia/APKBUILD | 7 | ||||
-rw-r--r-- | main/cdparanoia/no-cuserid.patch | 32 |
2 files changed, 36 insertions, 3 deletions
diff --git a/main/cdparanoia/APKBUILD b/main/cdparanoia/APKBUILD index 546e788d8a8..5beae0db011 100644 --- a/main/cdparanoia/APKBUILD +++ b/main/cdparanoia/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=cdparanoia pkgver=10.2 -pkgrel=7 +pkgrel=8 pkgdesc="An audio CD extraction application" url="http://www.xiph.org/paranoia" arch="all" @@ -10,7 +10,7 @@ options="!check" # Build system has test suite commented out. license="LGPL-2.0-or-later" makedepends="libtool autoconf automake linux-headers" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" -patches="gcc.patch fix-includes.patch" +patches="gcc.patch fix-includes.patch no-cuserid.patch" source="http://downloads.xiph.org/releases/cdparanoia/$pkgname-III-$pkgver.src.tgz $patches" @@ -53,4 +53,5 @@ libs() { sha512sums="4ab0a0f5ef44d56c1af72d1fc1035566a1a89c4eeddb9e8baea675fe51c06138d913342afc8bed167d9fa55672fa25a2763ce21f7e24c1232e4739aff20733a7 cdparanoia-III-10.2.src.tgz 27bf216e8b5b9d6971e3999166544025f166587df06065b89657dac62d0d53c01b76f53146c1e9a400dd71460567fadb8fd4ce00576836f972914d69e8855909 gcc.patch -e8a5ef0f5bcdba697d2d49e31346832bfa2460e6f6cac9256420f57c74a5da2945bdc664368c91365a880ba76e638f58773468d8e8bd16e7afcaff955a1a82ce fix-includes.patch" +e8a5ef0f5bcdba697d2d49e31346832bfa2460e6f6cac9256420f57c74a5da2945bdc664368c91365a880ba76e638f58773468d8e8bd16e7afcaff955a1a82ce fix-includes.patch +52882bdc689e1a34bc0f3961aa649f400232a3fe769526a01fcbff4ba0d5183c1ad0737265b69668b857b0887b4e4e3f2c78bad913329cc7b621b14d47e873f9 no-cuserid.patch" diff --git a/main/cdparanoia/no-cuserid.patch b/main/cdparanoia/no-cuserid.patch new file mode 100644 index 00000000000..dd6417f8367 --- /dev/null +++ b/main/cdparanoia/no-cuserid.patch @@ -0,0 +1,32 @@ +Since IEEE 1003.1-1988 cuserid is not standardized anymore. The musl +libc, used by Alpine Linux, currently does not supporting using it with +a NULL pointer argument [1]. Doing so causes a segmentation fault, to +fix this remove use of cuserid entirely. This is currently achieved by +not including the user name in the error message, while it would be +possible to achieve the same output using getpwuid(geteuid()) this +requires error handling and would make the patch more complicated. + +[1]: https://www.openwall.com/lists/musl/2020/01/29/2 + +diff -upr cdparanoia-III-10.2.orig/interface/scan_devices.c cdparanoia-III-10.2/interface/scan_devices.c +--- cdparanoia-III-10.2.orig/interface/scan_devices.c 2020-02-12 20:29:46.232958848 +0100 ++++ cdparanoia-III-10.2/interface/scan_devices.c 2020-02-12 20:30:06.336297868 +0100 +@@ -6,8 +6,6 @@ + * + ******************************************************************/ + +-#define _GNU_SOURCE /* get cuserid */ +-#define _USE_XOPEN /* get cuserid */ + #include <limits.h> + #include <stdio.h> + #include <unistd.h> +@@ -93,8 +91,7 @@ cdrom_drive *cdda_find_a_cdrom(int messa + i++; + } + idmessage(messagedest,messages, +- "\n\nNo cdrom drives accessible to %s found.\n", +- cuserid(NULL)); ++ "\n\nNo cdrom drives accessible to current user found.\n", NULL); + return(NULL); + } + |