summaryrefslogtreecommitdiffstats
path: root/hunt
diff options
context:
space:
mode:
authormrg <mrg@NetBSD.org>1998-07-06 06:56:06 +0000
committermrg <mrg@NetBSD.org>1998-07-06 06:56:06 +0000
commit4b973b99b26ebfe9f372367f03ac93522313fac8 (patch)
tree90f90baf999f222f428250fbaf1663ea168c5b86 /hunt
parentc0faadd28817c18c672c1b7b191cea09b1a91946 (diff)
downloadbsdgames-darwin-4b973b99b26ebfe9f372367f03ac93522313fac8.tar.gz
bsdgames-darwin-4b973b99b26ebfe9f372367f03ac93522313fac8.tar.zst
bsdgames-darwin-4b973b99b26ebfe9f372367f03ac93522313fac8.zip
- use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases - minor KNF - use MAXHOSTNAMELEN over various other values/defines - be safe will buffers that hold hostnames
Diffstat (limited to 'hunt')
-rw-r--r--hunt/hunt/hunt.c7
-rw-r--r--hunt/huntd/get_names.c9
2 files changed, 9 insertions, 7 deletions
diff --git a/hunt/hunt/hunt.c b/hunt/hunt/hunt.c
index d914132b..48fb801f 100644
--- a/hunt/hunt/hunt.c
+++ b/hunt/hunt/hunt.c
@@ -1,4 +1,4 @@
-/* $NetBSD: hunt.c,v 1.5 1998/03/29 04:50:29 mrg Exp $ */
+/* $NetBSD: hunt.c,v 1.6 1998/07/06 07:00:15 mrg Exp $ */
/*
* Hunt
* Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: hunt.c,v 1.5 1998/03/29 04:50:29 mrg Exp $");
+__RCSID("$NetBSD: hunt.c,v 1.6 1998/07/06 07:00:15 mrg Exp $");
#endif /* not lint */
# include <sys/stat.h>
@@ -386,7 +386,7 @@ list_drivers()
static SOCKET test;
int test_socket;
int namelen;
- char local_name[256];
+ char local_name[MAXHOSTNAMELEN + 1];
static int initial = TRUE;
static struct in_addr local_address;
struct hostent *hp;
@@ -412,6 +412,7 @@ list_drivers()
leave(1, "Sorry, I have no name.");
/* NOTREACHED */
}
+ local_name[sizeof(local_name) - 1] = '\0';
if ((hp = gethostbyname(local_name)) == NULL) {
leave(1, "Can't find myself.");
/* NOTREACHED */
diff --git a/hunt/huntd/get_names.c b/hunt/huntd/get_names.c
index 2d1cbe4d..3e358e4f 100644
--- a/hunt/huntd/get_names.c
+++ b/hunt/huntd/get_names.c
@@ -1,4 +1,4 @@
-/* $NetBSD: get_names.c,v 1.2 1997/10/10 16:33:35 lukem Exp $ */
+/* $NetBSD: get_names.c,v 1.3 1998/07/06 07:00:31 mrg Exp $ */
/*
* Copyright (c) 1983 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: get_names.c,v 1.2 1997/10/10 16:33:35 lukem Exp $");
+__RCSID("$NetBSD: get_names.c,v 1.3 1998/07/06 07:00:31 mrg Exp $");
#endif /* not lint */
#include "bsd.h"
@@ -24,7 +24,7 @@ __RCSID("$NetBSD: get_names.c,v 1.2 1997/10/10 16:33:35 lukem Exp $");
extern CTL_MSG msg;
-static char hostname[MAXHOSTNAMELEN];
+static char hostname[MAXHOSTNAMELEN + 1];
char *my_machine_name;
/*
@@ -52,7 +52,8 @@ get_local_name(my_name)
msg.ctl_addr.sin_family = htons(AF_INET);
# endif
- (void) gethostname(hostname, sizeof (hostname));
+ (void)gethostname(hostname, sizeof (hostname));
+ hostname[sizeof(hostname) - 1] = '\0';
my_machine_name = hostname;
/* look up the address of the local host */
hp = gethostbyname(my_machine_name);