From 7488d4c06804ba258569f6f36aa7518f917fe291 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 27 Mar 2013 14:13:00 +0100 Subject: login: check returns [coverity scan] Signed-off-by: Karel Zak --- login-utils/login.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'login-utils/login.c') diff --git a/login-utils/login.c b/login-utils/login.c index 425053406..0d2c16509 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); } -- cgit v1.2.3-55-g7522