diff options
author | davidn <davidn@FreeBSD.org> | 1997-01-07 13:29:21 +0000 |
---|---|---|
committer | davidn <davidn@FreeBSD.org> | 1997-01-07 13:29:21 +0000 |
commit | 962c4b892bc6055ab9d317c437b6016247f035f9 (patch) | |
tree | b1eb5d74832dbcd4529aa77cb20a174cfc4a29c8 /lib/libutil | |
parent | f593aaef0bc4f3cd817f5159fc027ee0ea6ec8ec (diff) | |
download | FreeBSD-src-962c4b892bc6055ab9d317c437b6016247f035f9.zip FreeBSD-src-962c4b892bc6055ab9d317c437b6016247f035f9.tar.gz |
Fix for login_getclass(NULL) case.
Diffstat (limited to 'lib/libutil')
-rw-r--r-- | lib/libutil/login_cap.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libutil/login_cap.c b/lib/libutil/login_cap.c index 21ff02f1..8f3c56d 100644 --- a/lib/libutil/login_cap.c +++ b/lib/libutil/login_cap.c @@ -21,7 +21,7 @@ * * 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> @@ -214,9 +214,11 @@ login_getclassbyname(char const * name, char const * dir) login_cap_t * login_getclass(const struct passwd *pwd) { - const char * class = (pwd == NULL) ? NULL : pwd->pw_class; - if (pwd->pw_class == NULL || *pwd->pw_class == '\0') - class = (pwd->pw_uid == 0) ? "root" : NULL; /* Kludge for 'root' user(s) */ + const char * class = NULL; + if (pwd == NULL) { + if ((class = pwd->pw_class) == NULL) || *class == '\0') + class = (pwd->pw_uid == 0) ? "root" : NULL; + } return login_getclassbyname(class, 0); } |