summaryrefslogtreecommitdiffstats
path: root/usr.bin/su
diff options
context:
space:
mode:
authordanny <danny@FreeBSD.org>1998-05-26 06:39:08 +0000
committerdanny <danny@FreeBSD.org>1998-05-26 06:39:08 +0000
commit360b2c0bec66e875a8c1b60ec30224c1bf24f433 (patch)
tree5ea1e5d7498f2bcda6d4fe3addcb5a463e09e4b9 /usr.bin/su
parent0f5128a20039faefdf285929268918cf6fe675e4 (diff)
downloadFreeBSD-src-360b2c0bec66e875a8c1b60ec30224c1bf24f433.zip
FreeBSD-src-360b2c0bec66e875a8c1b60ec30224c1bf24f433.tar.gz
PR: 1904
Abort if given uname is > MAXLOGNAME-1
Diffstat (limited to 'usr.bin/su')
-rw-r--r--usr.bin/su/su.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.bin/su/su.c b/usr.bin/su/su.c
index c5ab34e..ee4941e 100644
--- a/usr.bin/su/su.c
+++ b/usr.bin/su/su.c
@@ -42,7 +42,7 @@ static const char copyright[] =
static char sccsid[] = "@(#)su.c 8.3 (Berkeley) 4/2/94";
#endif
static const char rcsid[] =
- "$Id: su.c,v 1.25 1997/10/28 21:20:21 guido Exp $";
+ "$Id: su.c,v 1.26 1998/05/25 03:34:52 steve Exp $";
#endif /* not lint */
#include <sys/param.h>
@@ -169,6 +169,11 @@ main(argc, argv)
break;
}
+ if (strlen(user) > MAXLOGNAME - 1) {
+ (void)fprintf(stderr, "su: username too long.\n");
+ exit(1);
+ }
+
if (user == NULL)
usage();
OpenPOWER on IntegriCloud