From 1ae7ddd19bc5c2713e5b6a100c69663d58ca72fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 9 Dec 2018 20:06:09 +0100 Subject: [PATCH] sys-devel/distcc: Backport fix for crash on non-existing dir MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- ...3.3.2-r3.ebuild => distcc-3.3.2-r4.ebuild} | 2 ++ .../files/distcc-3.3.2-noexist-crash.patch | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) rename sys-devel/distcc/{distcc-3.3.2-r3.ebuild => distcc-3.3.2-r4.ebuild} (98%) create mode 100644 sys-devel/distcc/files/distcc-3.3.2-noexist-crash.patch diff --git a/sys-devel/distcc/distcc-3.3.2-r3.ebuild b/sys-devel/distcc/distcc-3.3.2-r4.ebuild 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 1266d913df94..01cca1f446a9 100644 --- a/sys-devel/distcc/distcc-3.3.2-r3.ebuild +++ b/sys-devel/distcc/distcc-3.3.2-r4.ebuild @@ -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 index 000000000000..7f378082d99e --- /dev/null +++ b/sys-devel/distcc/files/distcc-3.3.2-noexist-crash.patch @@ -0,0 +1,22 @@ +From 24f73c5cd8f839bd520eb52e91d0d26e07689373 Mon Sep 17 00:00:00 2001 +From: Shawn Landden +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); + } -- 2.26.2