diff --git a/usr.bin/head/head.c b/usr.bin/head/head.c index e33a3c26a45..3c4865b7907 100644 --- a/usr.bin/head/head.c +++ b/usr.bin/head/head.c @@ -113,12 +113,11 @@ head(fp, cnt) { register int ch; - while (cnt--) - while ((ch = getc(fp)) != EOF) { + while ((ch = getc(fp)) != EOF && cnt) { if (putchar(ch) == EOF) err(1, "stdout: %s", strerror(errno)); if (ch == '\n') - break; + cnt--; } }