Date: Monday, March 12, 2012 @ 05:45:52 Author: allan Revision: 153225
upgpkg: grep 2.11-2 fix segfault with -r --exclude-dir Added: grep/trunk/grep-2.11-exclude-dir-crash.patch Modified: grep/trunk/PKGBUILD -----------------------------------+ PKGBUILD | 9 ++++--- grep-2.11-exclude-dir-crash.patch | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-03-12 09:45:42 UTC (rev 153224) +++ PKGBUILD 2012-03-12 09:45:52 UTC (rev 153225) @@ -4,7 +4,7 @@ pkgname=grep pkgver=2.11 -pkgrel=1 +pkgrel=2 pkgdesc="A string search utility" arch=('i686' 'x86_64') license=('GPL3') @@ -13,12 +13,15 @@ depends=('glibc' 'pcre' 'sh') makedepends=('texinfo') install=${pkgname}.install -source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} + grep-2.11-exclude-dir-crash.patch) md5sums=('ad9c6dbdeab93e50d2bc380f10ed3643' - 'e4fea5e355973c951f93f48bc86f92fa') + 'e4fea5e355973c951f93f48bc86f92fa' + 'e882644cf8c1a4e37da7ba8c0867e70b') build() { cd ${srcdir}/${pkgname}-${pkgver} + patch -p1 -i $srcdir/grep-2.11-exclude-dir-crash.patch ./configure --prefix=/usr --without-included-regex make } Added: grep-2.11-exclude-dir-crash.patch =================================================================== --- grep-2.11-exclude-dir-crash.patch (rev 0) +++ grep-2.11-exclude-dir-crash.patch 2012-03-12 09:45:52 UTC (rev 153225) @@ -0,0 +1,44 @@ +From 12c957f786b12a4dd116f9c40a715d671d17fa16 Mon Sep 17 00:00:00 2001 +From: Allan McRae <al...@archlinux.org> +Date: Mon, 12 Mar 2012 09:28:01 +0100 +Subject: [PATCH] grep: fix segfault with -r --exclude-dir and no file operand + +* src/main.c (grepdir): Don't invoke excluded_file_name on NULL. +* NEWS (Bug fixes): Mention it. +--- + NEWS | 5 +++++ + src/main.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/NEWS b/NEWS +index d0a63d5..d4d70f5 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,11 @@ GNU grep NEWS -*- outline -*- + + * Noteworthy changes in release ?.? (????-??-??) [?] + ++** Bug fixes ++ ++ grep no longer segfaults with -r --exclude-dir and no file operand. ++ I.e., ":|grep -r --exclude-dir=D PAT" would segfault. ++ + + * Noteworthy changes in release 2.11 (2012-03-02) [stable] + +diff --git a/src/main.c b/src/main.c +index 2f6c761..f4f1235 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1361,7 +1361,7 @@ grepdir (char const *dir, struct stats const *stats) + struct stats const *ancestor; + char *name_space; + int status = 1; +- if (excluded_directory_patterns ++ if (dir && excluded_directory_patterns + && excluded_file_name (excluded_directory_patterns, dir)) + return 1; + +-- +1.7.9.3 +