diff options
author | deraadt <> | 1998-01-20 18:28:33 +0000 |
---|---|---|
committer | deraadt <> | 1998-01-20 18:28:33 +0000 |
commit | b08d7479e8ef6db58c3e1b0818e010519bac57ba (patch) | |
tree | 961adff135980a50ed17d080af4bbf437b77bb0a | |
parent | c5794ce7414757731fc3cf3dfeb1b09c43e500b6 (diff) | |
download | openbsd-b08d7479e8ef6db58c3e1b0818e010519bac57ba.tar.gz openbsd-b08d7479e8ef6db58c3e1b0818e010519bac57ba.tar.bz2 openbsd-b08d7479e8ef6db58c3e1b0818e010519bac57ba.zip |
for YP lookups, avoid names longer than MAXHOSTNAMELEN
-rw-r--r-- | src/lib/libc/net/gethostnamadr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libc/net/gethostnamadr.c b/src/lib/libc/net/gethostnamadr.c index b11bff6b86..7fb148bf52 100644 --- a/src/lib/libc/net/gethostnamadr.c +++ b/src/lib/libc/net/gethostnamadr.c | |||
@@ -52,7 +52,7 @@ | |||
52 | */ | 52 | */ |
53 | 53 | ||
54 | #if defined(LIBC_SCCS) && !defined(lint) | 54 | #if defined(LIBC_SCCS) && !defined(lint) |
55 | static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.28 1998/01/11 19:32:10 weingart Exp $"; | 55 | static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.29 1998/01/20 18:28:33 deraadt Exp $"; |
56 | #endif /* LIBC_SCCS and not lint */ | 56 | #endif /* LIBC_SCCS and not lint */ |
57 | 57 | ||
58 | #include <sys/param.h> | 58 | #include <sys/param.h> |
@@ -953,6 +953,8 @@ _yp_gethtbyname(name) | |||
953 | static char *__ypcurrent; | 953 | static char *__ypcurrent; |
954 | int __ypcurrentlen, r; | 954 | int __ypcurrentlen, r; |
955 | 955 | ||
956 | if (strlen(name) >= MAXHOSTNAMELEN) | ||
957 | return (NULL); | ||
956 | if (!__ypdomain) { | 958 | if (!__ypdomain) { |
957 | if (_yp_check(&__ypdomain) == 0) | 959 | if (_yp_check(&__ypdomain) == 0) |
958 | return (hp); | 960 | return (hp); |