Yea!
As I see http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/tail/read.c?rev=1.16.2.1;content-type=text%2Fplain
while ((ch = getc(fp)) != EOF) {
...
if ((sp = realloc(sp, blen += 1024)) == NULL)
...
if ((llines[recno].l = realloc(llines[recno].l,
.....
if (ferror(fp)) {
ierr(fn)...