From 6a021031c07a3a7c42a51f89e82cb2971dabac75 Mon Sep 17 00:00:00 2001 From: moritz <> Date: Mon, 2 May 2005 17:38:41 +0000 Subject: be more careful with snprintf. ok millert@ --- src/lib/libc/net/gethostnamadr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libc/net/gethostnamadr.c b/src/lib/libc/net/gethostnamadr.c index c643f2382a..f0be24143c 100644 --- a/src/lib/libc/net/gethostnamadr.c +++ b/src/lib/libc/net/gethostnamadr.c @@ -48,7 +48,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static const char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.61 2005/03/30 02:58:28 tedu Exp $"; +static const char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.62 2005/05/02 17:38:41 moritz Exp $"; #endif /* LIBC_SCCS and not lint */ #include @@ -702,7 +702,7 @@ gethostbyaddr(const char *addr, int len, int af) for (n = IN6ADDRSZ - 1; n >= 0; n--) { i = snprintf(qp, ep - qp, "%x.%x.", uaddr[n] & 0xf, (uaddr[n] >> 4) & 0xf); - if (i <= 0) { + if (i <= 0 || i >= ep - qp) { errno = EINVAL; h_errno = NETDB_INTERNAL; return (NULL); -- cgit v1.2.3-55-g6feb