From: nekral-guest Date: Mon, 26 May 2008 08:31:14 +0000 (+0000) Subject: * lib/sgetgrent.c: implicit conversion of pointers / chars to booleans. X-Git-Tag: 4.1.3~466 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f88bcf581baf2c579c6955e1d6e702613611721;p=shadow * lib/sgetgrent.c: implicit conversion of pointers / chars to booleans. * lib/sgetgrent.c: Avoid assignments in comparisons. * lib/sgetgrent.c: Add brackets. --- diff --git a/ChangeLog b/ChangeLog index 6f49f178..bd77d395 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-05-26 Nicolas François + + * lib/sgetgrent.c: implicit conversion of pointers / chars to + booleans. + * lib/sgetgrent.c: Avoid assignments in comparisons. + * lib/sgetgrent.c: Add brackets. + 2008-05-26 Nicolas François * lib/encrypt.c: Avoid implicit conversion of pointers to diff --git a/lib/sgetgrent.c b/lib/sgetgrent.c index e5bc89c5..2ffd2c28 100644 --- a/lib/sgetgrent.c +++ b/lib/sgetgrent.c @@ -87,10 +87,12 @@ static char **list (char *s) if (!s || s[0] == '\0') break; members[i++] = s; - while (*s && *s != ',') + while (('\0' != *s) && (',' != *s)) { s++; - if (*s) + } + if ('\0' != *s) { *s++ = '\0'; + } } members[i] = (char *) 0; return members; @@ -120,22 +122,30 @@ struct group *sgetgrent (const char *buf) } strcpy (grpbuf, buf); - if ((cp = strrchr (grpbuf, '\n'))) + cp = strrchr (grpbuf, '\n'); + if (NULL != cp) { *cp = '\0'; + } for (cp = grpbuf, i = 0; i < NFIELDS && cp; i++) { grpfields[i] = cp; - if ((cp = strchr (cp, ':'))) - *cp++ = 0; + cp = strchr (cp, ':'); + if (NULL != cp) { + *cp = '\0'; + cp++; + } + } + if (i < (NFIELDS - 1) || *grpfields[2] == '\0') { + return (struct group *) 0; } - if (i < (NFIELDS - 1) || *grpfields[2] == '\0') - return 0; grent.gr_name = grpfields[0]; grent.gr_passwd = grpfields[1]; grent.gr_gid = atoi (grpfields[2]); grent.gr_mem = list (grpfields[3]); - if (!grent.gr_mem) + if (NULL == grent.gr_mem) { return (struct group *) 0; /* out of memory */ + } return &grent; } +