Fix for login_getclass(NULL) case.
This commit is contained in:
parent
455d60734b
commit
2dc7d862d8
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue