diff options
| author | millert <> | 2003-10-03 19:48:10 +0000 | 
|---|---|---|
| committer | millert <> | 2003-10-03 19:48:10 +0000 | 
| commit | bedb3b8f9695bdd235a0eac91c64164ffbe88240 (patch) | |
| tree | 41f56aaba2bfb9e0dad222897fdfa90081647bcc | |
| parent | c984fc10dda97e0e52199715eeba2e8a16c00bba (diff) | |
| download | openbsd-bedb3b8f9695bdd235a0eac91c64164ffbe88240.tar.gz openbsd-bedb3b8f9695bdd235a0eac91c64164ffbe88240.tar.bz2 openbsd-bedb3b8f9695bdd235a0eac91c64164ffbe88240.zip | |
Fix off-by-one, patch from Patrick Latifi; closes PR 3492
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libc/net/gethostnamadr.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/src/lib/libc/net/gethostnamadr.c b/src/lib/libc/net/gethostnamadr.c index 0be63bec83..89afb634f1 100644 --- a/src/lib/libc/net/gethostnamadr.c +++ b/src/lib/libc/net/gethostnamadr.c | |||
| @@ -48,7 +48,7 @@ | |||
| 48 | */ | 48 | */ | 
| 49 | 49 | ||
| 50 | #if defined(LIBC_SCCS) && !defined(lint) | 50 | #if defined(LIBC_SCCS) && !defined(lint) | 
| 51 | static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.57 2003/06/27 22:23:05 vincent Exp $"; | 51 | static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.58 2003/10/03 19:48:10 millert Exp $"; | 
| 52 | #endif /* LIBC_SCCS and not lint */ | 52 | #endif /* LIBC_SCCS and not lint */ | 
| 53 | 53 | ||
| 54 | #include <sys/param.h> | 54 | #include <sys/param.h> | 
| @@ -231,19 +231,19 @@ getanswer(answer, anslen, qname, qtype) | |||
| 231 | continue; | 231 | continue; | 
| 232 | } | 232 | } | 
| 233 | cp += n; /* name */ | 233 | cp += n; /* name */ | 
| 234 | if (cp > eom) | 234 | if (cp >= eom) | 
| 235 | break; | 235 | break; | 
| 236 | type = _getshort(cp); | 236 | type = _getshort(cp); | 
| 237 | cp += INT16SZ; /* type */ | 237 | cp += INT16SZ; /* type */ | 
| 238 | if (cp > eom) | 238 | if (cp >= eom) | 
| 239 | break; | 239 | break; | 
| 240 | class = _getshort(cp); | 240 | class = _getshort(cp); | 
| 241 | cp += INT16SZ + INT32SZ; /* class, TTL */ | 241 | cp += INT16SZ + INT32SZ; /* class, TTL */ | 
| 242 | if (cp > eom) | 242 | if (cp >= eom) | 
| 243 | break; | 243 | break; | 
| 244 | n = _getshort(cp); | 244 | n = _getshort(cp); | 
| 245 | cp += INT16SZ; /* len */ | 245 | cp += INT16SZ; /* len */ | 
| 246 | if (cp > eom) | 246 | if (cp >= eom) | 
| 247 | break; | 247 | break; | 
| 248 | if (type == T_SIG) { | 248 | if (type == T_SIG) { | 
| 249 | /* XXX - ignore signatures as we don't use them yet */ | 249 | /* XXX - ignore signatures as we don't use them yet */ | 
