summaryrefslogtreecommitdiffstats
path: root/login-utils/login.c
diff options
context:
space:
mode:
authorKarel Zak2010-12-10 14:05:27 +0100
committerKarel Zak2010-12-10 14:05:27 +0100
commit11784a84423ee79c6411163e187f30faea270512 (patch)
treeb51dfbee0c06ad7f3eb0f2b16cc36262e6d1d417 /login-utils/login.c
parentlogin: use EXIT_* and err.h, clean up return codes (diff)
downloadkernel-qcow2-util-linux-11784a84423ee79c6411163e187f30faea270512.tar.gz
kernel-qcow2-util-linux-11784a84423ee79c6411163e187f30faea270512.tar.xz
kernel-qcow2-util-linux-11784a84423ee79c6411163e187f30faea270512.zip
login: fix "ignoring return value" errors
login.c:542:8: warning: ignoring return value of ‘fchown’, declared with attribute warn_unused_result login.c:1013:11: warning: ignoring return value of ‘fchown’, declared with attribute warn_unused_result login.c: In function ‘dolastlog’: login.c:1452:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result login.c: In function ‘motd’: login.c:1391:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'login-utils/login.c')
-rw-r--r--login-utils/login.c36
1 files changed, 26 insertions, 10 deletions
diff --git a/login-utils/login.c b/login-utils/login.c
index 5ece59b2a..ad2932d0b 100644
--- a/login-utils/login.c
+++ b/login-utils/login.c
@@ -539,7 +539,10 @@ main(int argc, char **argv)
ttt.c_cflag &= ~HUPCL;
/* These can fail, e.g. with ttyn on a read-only filesystem */
- fchown(0, 0, 0);
+ if (fchown(0, 0, 0)) {
+ ; /* glibc warn_unused_result */
+ }
+
fchmod(0, TTY_MODE);
/* Kill processes left on this tty */
@@ -1010,16 +1013,22 @@ Michael Riepe <michael@stud.uni-hannover.de>
logaudit(tty_name, username, hostname, pwd, 1);
dolastlog(quietlog);
- fchown(0, pwd->pw_uid,
- (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid);
+ if (fchown(0, pwd->pw_uid,
+ (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid))
+ warn(_("change terminal owner failed"));
+
fchmod(0, TTY_MODE);
#ifdef LOGIN_CHOWN_VCS
/* if tty is one of the VC's then change owner and mode of the
special /dev/vcs devices as well */
if (consoletty(0)) {
- chown(vcsn, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid));
- chown(vcsan, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid));
+
+ if (chown(vcsn, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid)))
+ warn(_("change terminal owner failed"));
+ if (chown(vcsan, pwd->pw_uid, (gr ? gr->gr_gid : pwd->pw_gid)))
+ warn(_("change terminal owner failed"));
+
chmod(vcsn, TTY_MODE);
chmod(vcsan, TTY_MODE);
}
@@ -1387,8 +1396,11 @@ motd(void) {
return;
oldint = signal(SIGINT, sigint);
if (setjmp(motdinterrupt) == 0)
- while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
- write(fileno(stdout), tbuf, nchars);
+ while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0) {
+ if (write(fileno(stdout), tbuf, nchars)) {
+ ; /* glibc warn_unused_result */
+ }
+ }
signal(SIGINT, oldint);
close(fd);
}
@@ -1405,8 +1417,11 @@ checknologin(void) {
char tbuf[8192];
if ((fd = open(_PATH_NOLOGIN, O_RDONLY, 0)) >= 0) {
- while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
- write(fileno(stdout), tbuf, nchars);
+ while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0) {
+ if (write(fileno(stdout), tbuf, nchars)) {
+ ; /* glibc warn_unused_result */
+ }
+ }
close(fd);
sleepexit(EXIT_SUCCESS);
}
@@ -1449,7 +1464,8 @@ dolastlog(int quiet) {
if (hostname)
xstrncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
- write(fd, (char *)&ll, sizeof(ll));
+ if (write(fd, (char *)&ll, sizeof(ll)) < 0)
+ warn(_("write lastlog failed"));
close(fd);
}
}