diff options
author | Jim Meyering <meyering@fb.com> | 2016-02-20 12:50:27 -0800 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2016-02-20 19:43:05 -0800 |
commit | 3ce8b39e3137d3cdcf8cec84dc89788037e76742 (patch) | |
tree | fa7cbd0d0d9b1ca68763a811c8cedb7208a70986 /src/dfasearch.c | |
parent | 121d63666fed298769a19354e517fd9a7190a3a2 (diff) | |
download | grep-3ce8b39e3137d3cdcf8cec84dc89788037e76742.tar.gz |
grep -z: avoid erroneous match with regexp anchor and \n in text
* src/dfasearch.c (EGexecute): Clear the newline_anchor bit when
eolbyte is not '\n'.
* tests/z-anchor-newline: New file.
* tests/Makefile.am (TESTS): Add it.
* NEWS (Bug fixes): Describe it.
Originally reported by Ulrich Mueller in
https://bugs.gentoo.org/show_bug.cgi?id=574662
Reported to us by Sergei Trofimovich as http://debbugs.gnu.org/22655
Diffstat (limited to 'src/dfasearch.c')
-rw-r--r-- | src/dfasearch.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/dfasearch.c b/src/dfasearch.c index e04a2dfd..d348d444 100644 --- a/src/dfasearch.c +++ b/src/dfasearch.c @@ -342,6 +342,7 @@ EGexecute (char *buf, size_t size, size_t *match_size, for (i = 0; i < pcount; i++) { patterns[i].regexbuf.not_eol = 0; + patterns[i].regexbuf.newline_anchor = eolbyte == '\n'; start = re_search (&(patterns[i].regexbuf), beg, end - beg - 1, ptr - beg, end - ptr - 1, |