[git commit] last: fix ignoring the first login entry

Denys Vlasenko vda.linux at googlemail.com
Sat Nov 8 06:42:34 UTC 2025


commit: https://git.busybox.net/busybox/commit/?id=782e3fc2b4012958d43e964064fd2f2806d46106
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

The first login entry is ignored if a log file contains more than one
entry. To fix it, do not break the while loop if the offset is zero.

Signed-off-by: Dmitry Klochkov <dmitry.klochkov at bell-sw.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 util-linux/last.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/util-linux/last.c b/util-linux/last.c
index 7530d013d..aafd01bb9 100644
--- a/util-linux/last.c
+++ b/util-linux/last.c
@@ -157,7 +157,7 @@ int last_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
 			ut.ut_user, ut.ut_line, ut.ut_host, ctime(&t_tmp) + 4);
  next:
 		pos -= sizeof(ut);
-		if (pos <= 0)
+		if (pos < 0)
 			break; /* done. */
 		xlseek(file, pos, SEEK_SET);
 	}


More information about the busybox-cvs mailing list