summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorassar <assar@FreeBSD.org>2001-06-16 05:37:57 +0000
committerassar <assar@FreeBSD.org>2001-06-16 05:37:57 +0000
commit41adf21f1fde09a07054cd9daa096b7212ab2b7c (patch)
treec479adcc4560640387994dc0dba749ed8a0d5732 /lib
parent81a67b96b997f71f3a5e1ed70c12b32e4d9fd86c (diff)
downloadFreeBSD-src-41adf21f1fde09a07054cd9daa096b7212ab2b7c.zip
FreeBSD-src-41adf21f1fde09a07054cd9daa096b7212ab2b7c.tar.gz
free memory that gets allocated by vfprintf when str == NULL
PR: misc/26044 MFC after: 1 week
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/stdio/snprintf.c2
-rw-r--r--lib/libc/stdio/sprintf.c2
-rw-r--r--lib/libc/stdio/vsnprintf.c2
-rw-r--r--lib/libc/stdio/vsprintf.c2
4 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/stdio/snprintf.c b/lib/libc/stdio/snprintf.c
index fe21129..3463c05 100644
--- a/lib/libc/stdio/snprintf.c
+++ b/lib/libc/stdio/snprintf.c
@@ -87,5 +87,7 @@ snprintf(str, n, fmt, va_alist)
if (on > 0)
*f._p = '\0';
va_end(ap);
+ if (str == NULL)
+ free(f._bf._base);
return (ret);
}
diff --git a/lib/libc/stdio/sprintf.c b/lib/libc/stdio/sprintf.c
index a810096..04910e0 100644
--- a/lib/libc/stdio/sprintf.c
+++ b/lib/libc/stdio/sprintf.c
@@ -77,5 +77,7 @@ sprintf(str, fmt, va_alist)
ret = __vfprintf(&f, fmt, ap);
va_end(ap);
*f._p = 0;
+ if (str == NULL)
+ free(f._bf._base);
return (ret);
}
diff --git a/lib/libc/stdio/vsnprintf.c b/lib/libc/stdio/vsnprintf.c
index b301b08..3b76259 100644
--- a/lib/libc/stdio/vsnprintf.c
+++ b/lib/libc/stdio/vsnprintf.c
@@ -69,5 +69,7 @@ vsnprintf(str, n, fmt, ap)
ret = __vfprintf(&f, fmt, ap);
if (on > 0)
*f._p = '\0';
+ if (str == NULL)
+ free(f._bf._base);
return (ret);
}
diff --git a/lib/libc/stdio/vsprintf.c b/lib/libc/stdio/vsprintf.c
index dbfd339..9bcd075 100644
--- a/lib/libc/stdio/vsprintf.c
+++ b/lib/libc/stdio/vsprintf.c
@@ -61,5 +61,7 @@ vsprintf(str, fmt, ap)
f._bf._size = f._w = INT_MAX;
ret = __vfprintf(&f, fmt, ap);
*f._p = 0;
+ if (str == NULL)
+ free(f._bf._base);
return (ret);
}
OpenPOWER on IntegriCloud