loginrec.c:794 /* ut_syslen is the length of the utx_host string */ utx->ut_syslen = MIN(strlen(li->hostname), sizeof(utx->ut_host)); But utmpx.h (on Solaris) says: short ut_syslen; /* significant length of ut_host */ /* including terminating null */ So shouldn't the code above add +1 in the strlen case? -frank