diff --git a/ChangeLog b/ChangeLog index e9740bdf..e7129ef8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-13 Nicolas François + + * libmisc/chowntty.c: Avoid assignments in comparisons. + * libmisc/chowntty.c: Avoid implicit conversion of pointers to + booleans. + * libmisc/chowntty.c: Add brackets and parenthesis. + 2008-06-13 Nicolas François * libmisc/audit_help.c: Add brackets. diff --git a/libmisc/chowntty.c b/libmisc/chowntty.c index fe949c7e..0a68e337 100644 --- a/libmisc/chowntty.c +++ b/libmisc/chowntty.c @@ -78,21 +78,26 @@ void chown_tty (const char *tty, const struct passwd *info) * ID. Otherwise, use the user's primary group ID. */ - if (!(group = getdef_str ("TTYGROUP"))) - gid = info->pw_gid; - else if (group[0] >= '0' && group[0] <= '9') - gid = atoi (group); - else if ((grent = getgrnam (group))) /* local, no need for xgetgrnam */ - gid = grent->gr_gid; - else + group = getdef_str ("TTYGROUP"); + if (NULL == group) { gid = info->pw_gid; + } else if ((group[0] >= '0') && (group[0] <= '9')) { + gid = (gid_t) atol (group); + } else { + grent = getgrnam (group); /* local, no need for xgetgrnam */ + if (NULL != grent) { + gid = grent->gr_gid; + } else { + gid = info->pw_gid; + } + } /* * Change the permissions on the TTY to be owned by the user with * the group as determined above. */ - if (*tty != '/') { + if ('/' != *tty) { snprintf (full_tty, sizeof full_tty, "/dev/%s", tty); tty = full_tty; } @@ -104,8 +109,8 @@ void chown_tty (const char *tty, const struct passwd *info) exit (1); } - if ((chown (tty, info->pw_uid, gid) != 0)|| - (chmod (tty, getdef_num ("TTYPERM", 0600)) != 0)) { + if ( (chown (tty, info->pw_uid, gid) != 0) + || (chmod (tty, getdef_num ("TTYPERM", 0600)) != 0)) { int err = errno; snprintf (buf, sizeof buf, _("Unable to change tty %s"), tty); @@ -115,8 +120,9 @@ void chown_tty (const char *tty, const struct passwd *info) info->pw_name)); closelog (); - if (err != EROFS) + if (EROFS != err) { exit (1); + } } #ifdef __linux__ /*