From e5321f7b69021369b24f9bcfc3df57a9fad75e38 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Thu, 20 May 1982 05:09:26 -0800 Subject: [PATCH] fix group initialization for eight character login names SCCS-vsn: usr.bin/login/login.c 4.17 SCCS-vsn: usr.bin/login/login.c.1 4.17 --- usr/src/usr.bin/login/login.c | 7 +++++-- usr/src/usr.bin/login/login.c.1 | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/usr/src/usr.bin/login/login.c b/usr/src/usr.bin/login/login.c index d9d1371181..67385e87be 100644 --- a/usr/src/usr.bin/login/login.c +++ b/usr/src/usr.bin/login/login.c @@ -1,4 +1,4 @@ -static char *sccsid = "@(#)login.c 4.16 82/04/03"; +static char *sccsid = "@(#)login.c 4.17 82/05/19"; /* * login [ name ] * login -r @@ -73,6 +73,7 @@ struct ltchars ltc = { int rflag; char rusername[NMAX+1], lusername[NMAX+1]; char rpassword[NMAX+1]; +char name[NMAX+1]; char *rhost; main(argc, argv) @@ -297,7 +298,9 @@ normal: } chown(ttyn, pwd->pw_uid, pwd->pw_gid); setgid(pwd->pw_gid); - inigrp(utmp.ut_name, pwd->pw_gid); + strncpy(name, utmp.ut_name, NMAX); + name[NMAX] = '\0'; + inigrp(name, pwd->pw_gid); setuid(pwd->pw_uid); environ = envinit; strncat(homedir, pwd->pw_dir, sizeof(homedir)-6); diff --git a/usr/src/usr.bin/login/login.c.1 b/usr/src/usr.bin/login/login.c.1 index d8cf510866..801249fce7 100644 --- a/usr/src/usr.bin/login/login.c.1 +++ b/usr/src/usr.bin/login/login.c.1 @@ -1,4 +1,4 @@ -static char *sccsid = "@(#)login.c.1 4.16 82/04/03"; +static char *sccsid = "@(#)login.c.1 4.17 82/05/19"; /* * login [ name ] * login -r @@ -73,6 +73,7 @@ struct ltchars ltc = { int rflag; char rusername[NMAX+1], lusername[NMAX+1]; char rpassword[NMAX+1]; +char name[NMAX+1]; char *rhost; main(argc, argv) @@ -297,7 +298,9 @@ normal: } chown(ttyn, pwd->pw_uid, pwd->pw_gid); setgid(pwd->pw_gid); - inigrp(utmp.ut_name, pwd->pw_gid); + strncpy(name, utmp.ut_name, NMAX); + name[NMAX] = '\0'; + inigrp(name, pwd->pw_gid); setuid(pwd->pw_uid); environ = envinit; strncat(homedir, pwd->pw_dir, sizeof(homedir)-6); -- 2.20.1