diff options
| author | Karel Zak <kzak@redhat.com> | 2013-03-27 14:13:00 +0100 |
|---|---|---|
| committer | Karel Zak <kzak@redhat.com> | 2013-03-27 14:13:00 +0100 |
| commit | 7488d4c06804ba258569f6f36aa7518f917fe291 (patch) | |
| tree | cf87709363aa82c2c183f41895422dafeb6257de | |
| parent | bbe8e6a98e0bdecc6f8143a692b625594c22f50d (diff) | |
| download | util-linux-7488d4c06804ba258569f6f36aa7518f917fe291.tar.gz | |
login: check returns [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
| -rw-r--r-- | login-utils/login.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/login-utils/login.c b/login-utils/login.c index 425053406a..0d2c165092 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -506,10 +506,8 @@ static void log_lastlog(struct login_context *cxt) if (fd < 0) return; - if (lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET) == -1) { - close(fd); - return; - } + if (lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET) == -1) + goto done; /* * Print last log message @@ -527,7 +525,8 @@ static void log_lastlog(struct login_context *cxt) printf(_("on %.*s\n"), (int)sizeof(ll.ll_line), ll.ll_line); } - lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET); + if (lseek(fd, (off_t) cxt->pwd->pw_uid * sizeof(ll), SEEK_SET) == -1) + goto done; } memset((char *)&ll, 0, sizeof(ll)); @@ -542,7 +541,7 @@ static void log_lastlog(struct login_context *cxt) if (write_all(fd, (char *)&ll, sizeof(ll))) warn(_("write lastlog failed")); - +done: close(fd); } |
