Nuking the temporary pointer once it is properly tracked in local storage.

This should fix the double free() bug where there's no tailing newline(\n)
character:

	current# echo -n test | tail
	testAssertion failed: (run->magic == ARENA_RUN_MAGIC), function
	arena_dalloc, file /usr/src/lib/libc/stdlib/malloc.c, line 2448.
	Abort (core dumped)

Reviewed by:	kib
MFC after:	3 days
This commit is contained in:
Tai-hwa Liang 2007-11-22 01:51:46 +00:00
parent ddd6e7d2ab
commit e7356456ed

View File

@ -184,6 +184,7 @@ lines(FILE *fp, off_t off)
}
if (cnt) {
llines[recno].l = sp;
sp = NULL;
llines[recno].len = cnt;
if (++recno == off) {
wrap = 1;