summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2002-05-16 05:04:26 +0000
committertjr <tjr@FreeBSD.org>2002-05-16 05:04:26 +0000
commit054f70b470751d5cb9034aa91797a323d497516c (patch)
treee9b05baa637c98745a53396ec0b63fcc36f3f6e5
parent3fd7d1d092b8eab76ec7c924dfc9a6679e0fd139 (diff)
downloadFreeBSD-src-054f70b470751d5cb9034aa91797a323d497516c.zip
FreeBSD-src-054f70b470751d5cb9034aa91797a323d497516c.tar.gz
Handle the case where a negative offset in a regular expression match
is larger than the number of lines in the overflow file.
-rw-r--r--usr.bin/csplit/csplit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.bin/csplit/csplit.c b/usr.bin/csplit/csplit.c
index 35692cc..f54a489 100644
--- a/usr.bin/csplit/csplit.c
+++ b/usr.bin/csplit/csplit.c
@@ -325,6 +325,8 @@ toomuch(FILE *ofp, long n)
for (i = 1; i <= nread; i++)
if (buf[nread - i] == '\n' && n-- == 0)
break;
+ if (ftello(ofp) == 0)
+ break;
} while (n > 0);
if (fseek(ofp, nread - i + 1, SEEK_CUR) != 0)
err(1, "%s", currfile);
OpenPOWER on IntegriCloud