diff -up openssh-5.6p1/loginrec.c.orig openssh-5.6p1/loginrec.c
--- openssh-5.6p1/loginrec.c.orig 2010-09-13 11:32:57.000000000 +0200
+++ openssh-5.6p1/loginrec.c 2010-09-13 12:48:25.000000000 +0200
@@ -1548,7 +1548,7 @@ lastlog_openseek(struct logininfo *li, i
if (S_ISREG(st.st_mode)) {
/* find this uid's offset in the lastlog file */
- offset = (off_t) ((long)li->uid * sizeof(struct lastlog));
+ offset = (off_t) ((long)(unsigned)li->uid * sizeof(struct lastlog));
if (lseek(*fd, offset, SEEK_SET) != offset) {
logit("%s: %s->lseek(): %s", __func__,