Fix from upstream to fix a corner case segfault. http://bugs.gentoo.org/95495 --- grep-2.5.1/src/search.c +++ grep-2.5.1/src/search.c @@ -701,8 +701,10 @@ char eol = eolbyte; if (!exact) { - end = memchr (end, eol, buflim - end); - end++; + if (!(end = memchr (end, eol, buflim - end))) + end = buflim; + else + end++; while (buf < beg && beg[-1] != eol) --beg; }