constrain to MAXHOSTNAMELEN
authorderaadt <deraadt@openbsd.org>
Tue, 3 Sep 1996 07:27:45 +0000 (07:27 +0000)
committerderaadt <deraadt@openbsd.org>
Tue, 3 Sep 1996 07:27:45 +0000 (07:27 +0000)
lib/libc/net/getnetent.c

index 862596c..8c3ced2 100644 (file)
@@ -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 <sys/types.h>
@@ -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';