diff options
Diffstat (limited to 'system/patch')
-rw-r--r-- | system/patch/APKBUILD | 52 | ||||
-rw-r--r-- | system/patch/CVE-2018-6951.patch | 29 |
2 files changed, 81 insertions, 0 deletions
diff --git a/system/patch/APKBUILD b/system/patch/APKBUILD new file mode 100644 index 000000000..4c69c9273 --- /dev/null +++ b/system/patch/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=patch +pkgver=2.7.6 +pkgrel=2 +pkgdesc="Utility to apply diffs to files" +url="https://www.gnu.org/software/patch/patch.html" +arch="all" +license="GPL-3.0+" +depends="" +makedepends="" +checkdepends="bash ed" +install="" +subpackages="$pkgname-doc" +source="ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz + CVE-2018-6951.patch + " +builddir="$srcdir"/$pkgname-$pkgver + +# secfixes: +# 2.7.6-r2: +# - CVE-2018-6951 + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-nls + make +} + +check() { + cd "$builddir" + make SHELL=bash check +} + +package() { + make prefix="$pkgdir"/usr \ + mandir="$pkgdir"/usr/share/man \ + -C "$builddir" install + + rm -f "$pkgdir"/usr/lib/charset.alias + rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true +} + +sha512sums="fcca87bdb67a88685a8a25597f9e015f5e60197b9a269fa350ae35a7991ed8da553939b4bbc7f7d3cfd863c67142af403b04165633acbce4339056a905e87fbd patch-2.7.6.tar.xz +db51d0b791d38dd4f1b373621ee18620ae339b172f58a79420fdaa4a4b1b1d9df239cf61bbddc4e6a4896b28b8cffc7c99161eb5e2facaec8df86a1bf7755bc0 CVE-2018-6951.patch" diff --git a/system/patch/CVE-2018-6951.patch b/system/patch/CVE-2018-6951.patch new file mode 100644 index 000000000..002d8ffd9 --- /dev/null +++ b/system/patch/CVE-2018-6951.patch @@ -0,0 +1,29 @@ +From f290f48a621867084884bfff87f8093c15195e6a Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher <agruen@gnu.org> +Date: Mon, 12 Feb 2018 16:48:24 +0100 +Subject: Fix segfault with mangled rename patch + +http://savannah.gnu.org/bugs/?53132 +* src/pch.c (intuit_diff_type): Ensure that two filenames are specified +for renames and copies (fix the existing check). +--- + src/pch.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/pch.c b/src/pch.c +index ff9ed2c..bc6278c 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type) + if ((pch_rename () || pch_copy ()) + && ! inname + && ! ((i == OLD || i == NEW) && +- p_name[! reverse] && ++ p_name[reverse] && p_name[! reverse] && ++ name_is_valid (p_name[reverse]) && + name_is_valid (p_name[! reverse]))) + { + say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy"); +-- +cgit v1.0-41-gc330 + |