summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAli H. Fardan <raiz@firemail.cc>2016-08-28 16:30:12 +0300
committerAli H. Fardan <raiz@firemail.cc>2016-08-28 16:30:12 +0300
commit25eb9ff35e76312b09ff5613c9a3cc1275938680 (patch)
treecf65f7292052b95f511804c41d1a0e5678ed6059
parent24c4134df6e0f7dc86e5f3c57342d2b60b1e5dab (diff)
FIXME: buffer overflow warning
-rw-r--r--slstatus.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/slstatus.c b/slstatus.c
index 90534d9..4dbe650 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -78,17 +78,17 @@ setstatus(const char *str)
static char *
smprintf(const char *fmt, ...)
{
- va_list fmtargs;
- char tmp[120];
+ /* FIXME: This code should have
+ bound checks, it is vulnerable to
+ buffer overflows */
+ va_list ap;
char *ret = NULL;
- va_start(fmtargs, fmt);
- snprintf(tmp, sizeof(tmp)-1, fmt, fmtargs);
- tmp[sizeof(tmp)] = '\0';
- if (asprintf(&ret, "%s", tmp) < 0)
+ va_start(ap, fmt);
+ if (vasprintf(&ret, fmt, ap) < 0)
return NULL;
- va_end(fmtargs);
+ va_end(ap);
return ret;
}