sys-devel/distcc: Backport fix for crash on non-existing dir
authorMichał Górny <mgorny@gentoo.org>
Sun, 9 Dec 2018 19:06:09 +0000 (20:06 +0100)
committerMichał Górny <mgorny@gentoo.org>
Sun, 9 Dec 2018 19:16:00 +0000 (20:16 +0100)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sys-devel/distcc/distcc-3.3.2-r4.ebuild [moved from sys-devel/distcc/distcc-3.3.2-r3.ebuild with 98% similarity]
sys-devel/distcc/files/distcc-3.3.2-noexist-crash.patch [new file with mode: 0644]

similarity index 98%
rename from sys-devel/distcc/distcc-3.3.2-r3.ebuild
rename to sys-devel/distcc/distcc-3.3.2-r4.ebuild
index 1266d913df942de5e8389c955c6d245371767312..01cca1f446a94999995777439d233b93cfba9659 100644 (file)
@@ -56,6 +56,8 @@ src_prepare() {
        eapply "${FILESDIR}/${PN}-3.3.2-freedesktop.patch"
        # SOCKSv5 support needed for Portage, bug #537616
        eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
+       # crash on missing directory
+       eapply "${FILESDIR}"/distcc-3.3.2-noexist-crash.patch
        eapply_user
 
        # Bugs #120001, #167844 and probably more. See patch for description.
diff --git a/sys-devel/distcc/files/distcc-3.3.2-noexist-crash.patch b/sys-devel/distcc/files/distcc-3.3.2-noexist-crash.patch
new file mode 100644 (file)
index 0000000..7f37808
--- /dev/null
@@ -0,0 +1,22 @@
+From 24f73c5cd8f839bd520eb52e91d0d26e07689373 Mon Sep 17 00:00:00 2001
+From: Shawn Landden <shawn@git.icu>
+Date: Wed, 29 Aug 2018 04:52:38 -0700
+Subject: [PATCH] fix #304
+
+---
+ src/daemon.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/daemon.c b/src/daemon.c
+index 5765982..c8fee7c 100644
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -166,7 +166,7 @@ static void dcc_warn_masquerade_whitelist(void) {
+         rs_log_crit(LIBDIR "/distcc not found. %s", warn);
+         dcc_exit(EXIT_COMPILER_MISSING);
+     }
+-    if (!readdir(e) && !readdir(d)) {
++    if ((!e || !readdir(e)) && (!d || !readdir(d))) {
+         rs_log_crit(LIBDIR "/distcc empty. %s", warn);
+         dcc_exit(EXIT_COMPILER_MISSING);
+     }