diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-04-29 19:15:47 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1997-04-29 19:15:47 +0000 |
commit | dcfbd3967b68464a430fc6ffd3328d7c2bbd78f0 (patch) | |
tree | 83afb483915c4adfbc23f15a06ef4773da799f5f | |
parent | 6503ad75ee41ce2fe249ab104542dc4e8f59f0bb (diff) |
careful buffer handling
-rw-r--r-- | lib/libc/net/gethostnamadr.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/libc/net/gethostnamadr.c b/lib/libc/net/gethostnamadr.c index ae2cd7c91fa..ddf8d355283 100644 --- a/lib/libc/net/gethostnamadr.c +++ b/lib/libc/net/gethostnamadr.c @@ -52,7 +52,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.23 1997/04/27 22:20:47 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.24 1997/04/29 19:15:46 deraadt Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> @@ -503,10 +503,10 @@ gethostbyname2(name, af) h_errno = HOST_NOT_FOUND; return (NULL); } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - len = sizeof hostbuf - MAXDNAME; + strncpy(hostbuf, name, MAXHOSTNAME-1); + hostbuf[MAXHOSTNAME-1] = '\0'; + bp = hostbuf + MAXHOSTNAME; + len = sizeof hostbuf - MAXHOSTNAME; host.h_name = hostbuf; host.h_aliases = host_aliases; host_aliases[0] = NULL; @@ -536,10 +536,10 @@ gethostbyname2(name, af) h_errno = HOST_NOT_FOUND; return (NULL); } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - len = sizeof hostbuf - MAXDNAME; + strncpy(hostbuf, name, MAXHOSTNAME-1); + hostbuf[MAXHOSTNAME-1] = '\0'; + bp = hostbuf + MAXHOSTNAME; + len = sizeof hostbuf - MAXHOSTNAME; host.h_name = hostbuf; host.h_aliases = host_aliases; host_aliases[0] = NULL; |