# --- T2-COPYRIGHT-NOTE-BEGIN --- # T2 SDE: package/*/cdparanoia/no-cuserid.patch.musl # Copyright (C) 2022 The T2 SDE Project # # This Copyright note is generated by scripts/Create-CopyPatch, # more information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License version 2 as used by the T2 SDE. # --- T2-COPYRIGHT-NOTE-END --- 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 #include #include @@ -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); }