summaryrefslogtreecommitdiff
path: root/main/cdparanoia/no-cuserid.patch
blob: dd6417f83677ac47ab70cbe91ea5f68836ffaf91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
 }