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;