From 8cc59eb3b6d73b67c17da03342dac6b241451cce Mon Sep 17 00:00:00 2001 From: orbea Date: Wed, 13 Jul 2022 08:10:37 -0700 Subject: dev-util/samurai: Add patch for CVE-2021-30218 Also updates to EAPI 8. Bug: https://bugs.gentoo.org/786951 Upstream-Commit: https://github.com/michaelforney/samurai/commit/e84b6d99c85043fa1ba54851ee500540ec206918 Upstream-Issue: https://github.com/michaelforney/samurai/issues/67 Signed-off-by: orbea Closes: https://github.com/gentoo/gentoo/pull/26386 Signed-off-by: Sam James --- .../files/samurai-1.2-null_pointer_fix.patch | 36 +++++++++++++++++++++- dev-util/samurai/samurai-1.2-r1.ebuild | 32 ------------------- dev-util/samurai/samurai-1.2-r2.ebuild | 32 +++++++++++++++++++ dev-util/samurai/samurai-9999.ebuild | 4 +-- 4 files changed, 69 insertions(+), 35 deletions(-) delete mode 100644 dev-util/samurai/samurai-1.2-r1.ebuild create mode 100644 dev-util/samurai/samurai-1.2-r2.ebuild (limited to 'dev-util/samurai') diff --git a/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch b/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch index fbc97b03d478..76ffc8cd350f 100644 --- a/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch +++ b/dev-util/samurai/files/samurai-1.2-null_pointer_fix.patch @@ -1,3 +1,37 @@ +CVE-2021-30218 + CVE-2021-30219 +Bug: https://bugs.gentoo.org/786951 + +Upstream-Commit: https://github.com/michaelforney/samurai/commit/e84b6d99c85043fa1ba54851ee500540ec206918 +From e84b6d99c85043fa1ba54851ee500540ec206918 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 2 Apr 2021 17:27:48 -0700 +Subject: [PATCH] util: Check for NULL string in writefile + +This check was there previously, but was removed in f549b757 with +the addition of a check during parse that every rule has rspfile +if and only if it has rspfile_content. However, this fails to +consider the possibility of those variables coming from the edge +or global environment. So, re-add the check. + +Fixes #67 (https://github.com/michaelforney/samurai/issues/67). +--- + util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index ea5c3ce..2a59881 100644 +--- a/util.c ++++ b/util.c +@@ -258,7 +258,7 @@ writefile(const char *name, struct string *s) + return -1; + } + ret = 0; +- if (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0) { ++ if (s && (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0)) { + warn("write %s:", name); + ret = -1; + } +Upstream-Commit: https://github.com/michaelforney/samurai/commit/d2af3bc375e2a77139c3a28d6128c60cd8d08655 From d2af3bc375e2a77139c3a28d6128c60cd8d08655 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 4 Apr 2021 03:50:09 -0700 @@ -6,7 +40,7 @@ Subject: [PATCH] parse: Check for non-empty command/rspfile/rspfile_content This matches ninja behavior and prevents the possibility of a rule with an empty (NULL) command string. -Fixes #68. +Fixes #68 (https://github.com/michaelforney/samurai/issues/68). --- parse.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev-util/samurai/samurai-1.2-r1.ebuild b/dev-util/samurai/samurai-1.2-r1.ebuild deleted file mode 100644 index c2072fc277b1..000000000000 --- a/dev-util/samurai/samurai-1.2-r1.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="ninja-compatible build tool written in C" -HOMEPAGE="https://github.com/michaelforney/samurai" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/michaelforney/samurai.git" -else - SRC_URI="https://github.com/michaelforney/samurai/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~x86" -fi - -LICENSE="ISC Apache-2.0 MIT" -SLOT="0" - -PATCHES=( - "${FILESDIR}/${P}-null_pointer_fix.patch" #786957 -) - -src_compile() { - emake CC="$(tc-getCC)" -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install - dodoc README.md -} diff --git a/dev-util/samurai/samurai-1.2-r2.ebuild b/dev-util/samurai/samurai-1.2-r2.ebuild new file mode 100644 index 000000000000..5a7727cbbf8c --- /dev/null +++ b/dev-util/samurai/samurai-1.2-r2.ebuild @@ -0,0 +1,32 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="ninja-compatible build tool written in C" +HOMEPAGE="https://github.com/michaelforney/samurai" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/michaelforney/samurai.git" +else + SRC_URI="https://github.com/michaelforney/samurai/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +LICENSE="ISC Apache-2.0 MIT" +SLOT="0" + +PATCHES=( + "${FILESDIR}/${P}-null_pointer_fix.patch" # 786951 +) + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install + dodoc README.md +} diff --git a/dev-util/samurai/samurai-9999.ebuild b/dev-util/samurai/samurai-9999.ebuild index 6895ee86fc65..6e723875bada 100644 --- a/dev-util/samurai/samurai-9999.ebuild +++ b/dev-util/samurai/samurai-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 2021 Gentoo Authors +# Copyright 2021-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit toolchain-funcs -- cgit v1.2.3-65-gdbad