--- grep-2.5.1a/src/grep.c.mem-exhausted 2006-11-22 14:49:35.000000000 +0000 +++ grep-2.5.1a/src/grep.c 2006-11-22 14:53:12.000000000 +0000 @@ -299,6 +299,12 @@ int cc = 1; char *readbuf; size_t readsize; + const size_t max_save = 200 * 1024 * 1024; + + /* Limit the amount of saved data to 200Mb so we don't fail on + * large files. */ + if (save > max_save) + save = max_save; /* Offset from start of buffer to start of old stuff that we want to save. */