diff -up bsd-finger-0.17/finger/util.c.match_sigsegv bsd-finger-0.17/finger/util.c --- bsd-finger-0.17/finger/util.c.match_sigsegv 2012-10-16 10:22:26.240480338 +0200 +++ bsd-finger-0.17/finger/util.c 2012-10-16 10:26:15.744072682 +0200 @@ -186,6 +186,9 @@ match(struct passwd *pw, const char *use int i, j, ct, rv=0; char *rname; + if (pw == NULL || pw->pw_gecos == NULL) + return 0; + strncpy(tbuf, pw->pw_gecos, TBUFLEN); tbuf[TBUFLEN-1] = 0; /* guarantee null termination */ p = tbuf;