From ffb13ef1b4c6817ae6a8cbd71a67f17f44ccf79e Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Tue, 3 Sep 1996 07:27:46 +0000 Subject: constrain to MAXHOSTNAMELEN --- lib/libc/net/getnetent.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/libc/net/getnetent.c b/lib/libc/net/getnetent.c index 862596c40fa..8c3ced2214d 100644 --- a/lib/libc/net/getnetent.c +++ b/lib/libc/net/getnetent.c @@ -32,7 +32,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: getnetent.c,v 1.4 1996/08/19 08:28:47 tholo Exp $"; +static char rcsid[] = "$OpenBSD: getnetent.c,v 1.5 1996/09/03 07:27:45 deraadt Exp $"; #endif /* LIBC_SCCS and not lint */ #include @@ -91,6 +91,8 @@ again: goto again; *cp = '\0'; net.n_name = p; + if (strlen(net.n_name) >= MAXHOSTNAMELEN-1) + net.n_name[MAXHOSTNAMELEN-1] = '\0'; cp = strpbrk(p, " \t"); if (cp == NULL) goto again; @@ -110,8 +112,11 @@ again: cp++; continue; } - if (q < &net_aliases[MAXALIASES - 1]) + if (q < &net_aliases[MAXALIASES - 1]) { *q++ = cp; + if (strlen(cp) >= MAXHOSTNAMELEN-1) + cp[MAXHOSTNAMELEN-1] = '\0'; + } cp = strpbrk(cp, " \t"); if (cp != NULL) *cp++ = '\0'; -- cgit v1.2.3