svn commit: r197752 - head/lib/libc/stdio
David Schultz
das at FreeBSD.org
Sun Oct 4 19:43:38 UTC 2009
Author: das
Date: Sun Oct 4 19:43:36 2009
New Revision: 197752
URL: http://svn.freebsd.org/changeset/base/197752
Log:
Better glibc compatibility for getline/getdelim:
- Tolerate applications that pass a NULL pointer for the buffer and
claim that the capacity of the buffer is nonzero.
- If an application passes in a non-NULL buffer pointer and claims the
buffer has zero capacity, we should free (well, realloc) it
anyway. It could have been obtained from malloc(0), so failing to
free it would be a small memory leak.
MFC After: 2 weeks
Reported by: naddy
PR: ports/138320
Modified:
head/lib/libc/stdio/getdelim.c
Modified: head/lib/libc/stdio/getdelim.c
==============================================================================
--- head/lib/libc/stdio/getdelim.c Sun Oct 4 19:03:32 2009 (r197751)
+++ head/lib/libc/stdio/getdelim.c Sun Oct 4 19:43:36 2009 (r197752)
@@ -120,8 +120,8 @@ getdelim(char ** __restrict linep, size_
goto error;
}
- if (*linecapp == 0)
- *linep = NULL;
+ if (*linep == NULL)
+ *linecapp = 0;
if (fp->_r <= 0 && __srefill(fp)) {
/* If fp is at EOF already, we just need space for the NUL. */
More information about the svn-src-head
mailing list