[arch-commits] Commit in grep/trunk (PKGBUILD grep-2.11-exclude-dir-crash.patch)

Allan McRae allan at archlinux.org
Mon Mar 12 05:45:53 EDT 2012


    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 <allan at 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
+



More information about the arch-commits mailing list