diff options
author | danny <danny@FreeBSD.org> | 1998-05-26 06:39:08 +0000 |
---|---|---|
committer | danny <danny@FreeBSD.org> | 1998-05-26 06:39:08 +0000 |
commit | 360b2c0bec66e875a8c1b60ec30224c1bf24f433 (patch) | |
tree | 5ea1e5d7498f2bcda6d4fe3addcb5a463e09e4b9 /usr.bin | |
parent | 0f5128a20039faefdf285929268918cf6fe675e4 (diff) | |
download | FreeBSD-src-360b2c0bec66e875a8c1b60ec30224c1bf24f433.zip FreeBSD-src-360b2c0bec66e875a8c1b60ec30224c1bf24f433.tar.gz |
PR: 1904
Abort if given uname is > MAXLOGNAME-1
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/su/su.c | 7 |
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(); |