From 6af59d0d232e33b2be61a6dc96e7918993dd28d5 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Tue, 11 Jun 2002 21:19:41 +0000 Subject: Revert Erik's patch to vasprintf and fix the real issue. The writer for the stream returned by open_memstream was supposed to keep the buffer nul-terminated. I apparently left out a statement. --- libc/stdio/printf.c | 1 - libc/stdio/stdio.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'libc') diff --git a/libc/stdio/printf.c b/libc/stdio/printf.c index e311a4f87..92b5b5956 100644 --- a/libc/stdio/printf.c +++ b/libc/stdio/printf.c @@ -1451,7 +1451,6 @@ int vasprintf(char **__restrict buf, const char * __restrict format, return -1; } rv = vfprintf(f, format, arg); - if (rv >= 0) fputc('\0', f); fclose(f); if (rv < 0) { free(*buf); diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c index 60d4fe73b..1462874f0 100644 --- a/libc/stdio/stdio.c +++ b/libc/stdio/stdio.c @@ -643,6 +643,7 @@ static ssize_t oms_write(void *cookie, const char *buf, size_t bufsize) if (COOKIE->pos > COOKIE->eof) { *COOKIE->sizeloc = COOKIE->eof = COOKIE->pos; + COOKIE->buf[COOKIE->eof] = 0; /* Need to nul-terminate. */ } return bufsize; -- cgit v1.2.3