summaryrefslogtreecommitdiffstats
path: root/source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch')
-rw-r--r--source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch b/source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch
new file mode 100644
index 000000000..f9fd99d6b
--- /dev/null
+++ b/source/n/bsd-finger/bsd-finger-0.17-match_sigsegv.patch
@@ -0,0 +1,13 @@
+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;