aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2004-10-21 23:02:35 +0000
committerH. Peter Anvin <hpa@zytor.com>2004-10-21 23:02:35 +0000
commitfef33f265ac6f9110ab9922c636624870a078481 (patch)
treead288f16e1649b518409d6f021672c4ebe981f77
parentb4c9bd471a0c736e15bb576314808d7495000352 (diff)
downloadklibc-fef33f265ac6f9110ab9922c636624870a078481.tar.gz
Fix off-by-one error in (v)asprintf()klibc-0.190
-rw-r--r--klibc/asprintf.c4
-rw-r--r--klibc/vasprintf.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/klibc/asprintf.c b/klibc/asprintf.c
index 457d34bb15c14..6002b576e1ac3 100644
--- a/klibc/asprintf.c
+++ b/klibc/asprintf.c
@@ -16,10 +16,10 @@ int asprintf(char **bufp, const char *format, ...)
va_start(ap, format);
va_copy(ap1, ap);
- bytes = vsnprintf(NULL, 0, format, ap1);
+ bytes = vsnprintf(NULL, 0, format, ap1) + 1;
va_end(ap1);
- *bufp = p = malloc(bytes+1);
+ *bufp = p = malloc(bytes);
if ( !p )
return -1;
diff --git a/klibc/vasprintf.c b/klibc/vasprintf.c
index 5066dbbfaf984..657bfdc3ef683 100644
--- a/klibc/vasprintf.c
+++ b/klibc/vasprintf.c
@@ -14,10 +14,10 @@ int vasprintf(char **bufp, const char *format, va_list ap)
va_copy(ap1, ap);
- bytes = vsnprintf(NULL, 0, format, ap1);
+ bytes = vsnprintf(NULL, 0, format, ap1) + 1;
va_end(ap1);
- *bufp = p = malloc(bytes+1);
+ *bufp = p = malloc(bytes);
if ( !p )
return -1;