From b27e228ca9fc3b8cc38a1ab1119b70c9ddac51a5 Mon Sep 17 00:00:00 2001
From: "Chris D. Faulhaber" <jedgar@FreeBSD.org>
Date: Sat, 20 Jan 2001 00:29:31 +0000
Subject: [PATCH] Check malloc() and strdup() return values

Reviewed by:	kris
---
 libexec/fingerd/fingerd.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libexec/fingerd/fingerd.c b/libexec/fingerd/fingerd.c
index 15463e8b3726..8524acd1ffdb 100644
--- a/libexec/fingerd/fingerd.c
+++ b/libexec/fingerd/fingerd.c
@@ -45,6 +45,7 @@ static const char rcsid[] =
   "$FreeBSD$";
 #endif /* not lint */
 
+#include <sys/types.h>
 #include <sys/param.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
@@ -54,6 +55,7 @@ static const char rcsid[] =
 
 #include <unistd.h>
 #include <syslog.h>
+#include <libutil.h>
 #include <netdb.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -118,11 +120,13 @@ main(argc, argv)
 
 		end = memchr(line, 0, sizeof(line));
 		if (end == NULL) {
-			t = malloc(sizeof(line) + 1);
+			if ((t = malloc(sizeof(line) + 1)) == NULL)
+				logerr("malloc: %s", strerror(errno));
 			memcpy(t, line, sizeof(line));
 			t[sizeof(line)] = 0;
 		} else {
-			t = strdup(line);
+			if ((t = strdup(line)) == NULL)
+				logerr("strdup: %s", strerror(errno));
 		}
 		for (end = t; *end; end++)
 			if (*end == '\n' || *end == '\r')