summaryrefslogtreecommitdiff
path: root/libc/unistd
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-06-15 19:23:42 +0000
committerEric Andersen <andersen@codepoet.org>2002-06-15 19:23:42 +0000
commit3fa6fbe68b8b65bc7427b3686ba47c16767269f5 (patch)
tree737c471f9adb42e98237befdc5ad49e75431fb5e /libc/unistd
parent3cc4bac6a3315cdcbc4dfb840ac48edb829cf85b (diff)
Prevent buffer overflow
Diffstat (limited to 'libc/unistd')
-rw-r--r--libc/unistd/getlogin.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libc/unistd/getlogin.c b/libc/unistd/getlogin.c
index 505e6cf23..c762c366e 100644
--- a/libc/unistd/getlogin.c
+++ b/libc/unistd/getlogin.c
@@ -2,7 +2,7 @@
/* getlogin for uClibc
*
* Copyright (C) 2000 by Lineo, inc. and Erik Andersen
- * Copyright (C) 2000,2001 by Erik Andersen <andersen@uclibc.org>
+ * Copyright (C) 2000-2002 by Erik Andersen <andersen@uclibc.org>
* Written by Erik Andersen <andersen@uclibc.org>
*
* This program is free software; you can redistribute it and/or modify it
@@ -23,11 +23,11 @@
#include <stdlib.h>
#include <string.h>
-/* uClibc makes it policy to not mess with the utmp file whenever possible, *
- * since I consider utmp a complete wasts of time. Since getlogin() should
- * never be used for security purposes, we kindly let the user specify whatever
- * they want via the LOGNAME environment variable, or we return NULL if
- * getenv() fails to find anything */
+/* uClibc makes it policy to not mess with the utmp file whenever
+ * possible, since I consider utmp a complete waste of time. Since
+ * getlogin() should never be used for security purposes, we kindly let
+ * the user specify whatever they want via the LOGNAME environment
+ * variable, or we return NULL if getenv() fails to find anything */
char * getlogin(void)
{
@@ -42,6 +42,7 @@ int getlogin_r(char *name, size_t len)
return -1;
strncpy(name, foo, len);
+ name[len] = '\0';
return 0;
}