Fix for login_getclass(NULL) case.

This commit is contained in:
David Nugent 1997-01-07 13:29:21 +00:00
parent 455d60734b
commit 2dc7d862d8
1 changed files with 6 additions and 4 deletions

View File

@ -21,7 +21,7 @@
* *
* Low-level routines relating to the user capabilities database * Low-level routines relating to the user capabilities database
* *
* $Id$ * $Id: login_cap.c,v 1.1 1997/01/04 16:50:02 davidn Exp $
*/ */
#include <stdio.h> #include <stdio.h>
@ -214,9 +214,11 @@ login_getclassbyname(char const * name, char const * dir)
login_cap_t * login_cap_t *
login_getclass(const struct passwd *pwd) login_getclass(const struct passwd *pwd)
{ {
const char * class = (pwd == NULL) ? NULL : pwd->pw_class; const char * class = NULL;
if (pwd->pw_class == NULL || *pwd->pw_class == '\0') if (pwd == NULL) {
class = (pwd->pw_uid == 0) ? "root" : NULL; /* Kludge for 'root' user(s) */ if ((class = pwd->pw_class) == NULL) || *class == '\0')
class = (pwd->pw_uid == 0) ? "root" : NULL;
}
return login_getclassbyname(class, 0); return login_getclassbyname(class, 0);
} }