- Fixed count of patterns when the last is an empty string (bug #204255).

- Resolves: rhbz#204255
This commit is contained in:
Tim Waugh 2006-11-22 19:37:55 +00:00
parent 16976527ae
commit 88797f0fa8
2 changed files with 42 additions and 1 deletions

36
grep-empty-pattern.patch Normal file
View File

@ -0,0 +1,36 @@
--- grep-2.5.1a/src/grep.c.empty-pattern 2006-11-22 19:05:43.000000000 +0000
+++ grep-2.5.1a/src/grep.c 2006-11-22 19:22:04.000000000 +0000
@@ -1667,9 +1667,6 @@
out_invert ^= 1;
match_lines = match_words = 0;
}
- else
- /* Strip trailing newline. */
- --keycc;
}
else
if (optind < argc)
--- grep-2.5.1a/src/search.c.empty-pattern 2006-11-22 19:21:11.000000000 +0000
+++ grep-2.5.1a/src/search.c 2006-11-22 19:35:06.000000000 +0000
@@ -204,6 +204,10 @@
motif = sep;
} while (sep && total != 0);
+ /* Strip trailing newline. */
+ if (size && pattern[size - 1] == '\n')
+ size--;
+
/* In the match_words and match_lines cases, we use a different pattern
for the DFA matcher that will quickly throw out cases that won't work.
Then if DFA succeeds we do some hairy stuff using the regex matcher
@@ -288,6 +292,10 @@
motif = sep;
} while (sep && total != 0);
+ /* Strip trailing newline. */
+ if (size && pattern[size - 1] == '\n')
+ size--;
+
/* In the match_words and match_lines cases, we use a different pattern
for the DFA matcher that will quickly throw out cases that won't work.
Then if DFA succeeds we do some hairy stuff using the regex matcher

View File

@ -1,7 +1,7 @@
Summary: The GNU versions of grep pattern matching utilities.
Name: grep
Version: 2.5.1
Release: 55%{?dist}
Release: 56%{?dist}
License: GPL
Group: Applications/Text
Source: ftp://ftp.gnu.org/pub/gnu/grep/grep-%{version}a.tar.bz2
@ -19,6 +19,7 @@ Patch12: grep-2.5.1-tests.patch
Patch13: grep-2.5.1-w.patch
Patch14: grep-P.patch
Patch15: grep-mem-exhausted.patch
Patch16: grep-empty-pattern.patch
URL: http://www.gnu.org/software/grep/
Prereq: /sbin/install-info
Buildroot: %{_tmppath}/%{name}-%{version}-root
@ -49,6 +50,7 @@ utility for searching through text.
%patch13 -p1 -b .w
%patch14 -p1 -b .P
%patch15 -p1 -b .mem-exhausted
%patch16 -p1 -b .empty-pattern
chmod a+x tests/fmbtest.sh
%build
@ -98,6 +100,9 @@ fi
%{_mandir}/*/*
%changelog
* Wed Nov 22 2006 Tim Waugh <twaugh@redhat.com> 2.5.1-56
- Fixed count of patterns when the last is an empty string (bug #204255).
* Wed Nov 22 2006 Tim Waugh <twaugh@redhat.com> 2.5.1-55
- Fix 'memory exhausted' errors by limiting in-memory buffer (bug #198165).