From 664df44c7eb62edbce95ab6dbdedcba7f07fed02 Mon Sep 17 00:00:00 2001 From: ph10 Date: Fri, 17 Jun 2016 17:28:14 +0000 Subject: Fix bad interaction between -o and -M in pcregrep. git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1658 2f5784b3-3f2a-0410-8824-cb99058d5e15 --- pcregrep.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pcregrep.c') diff --git a/pcregrep.c b/pcregrep.c index cd53c64..fd2a676 100644 --- a/pcregrep.c +++ b/pcregrep.c @@ -1803,6 +1803,12 @@ while (ptr < endptr) match = FALSE; if (line_buffered) fflush(stdout); rc = 0; /* Had some success */ + + /* If the current match ended past the end of the line (only possible + in multiline mode), we are done with this line. */ + + if ((unsigned int)offsets[1] > linelength) goto END_ONE_MATCH; + startoffset = offsets[1]; /* Restart after the match */ if (startoffset <= oldstartoffset) { -- cgit v1.2.1