diff options
-rw-r--r-- | src/lib/libc/net/getaddrinfo.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/libc/net/getaddrinfo.c b/src/lib/libc/net/getaddrinfo.c index 9113bfb39b..06ab8f2095 100644 --- a/src/lib/libc/net/getaddrinfo.c +++ b/src/lib/libc/net/getaddrinfo.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: getaddrinfo.c,v 1.55 2006/04/14 03:16:02 ray Exp $ */ | 1 | /* $OpenBSD: getaddrinfo.c,v 1.56 2006/04/18 02:57:10 ray Exp $ */ |
2 | /* $KAME: getaddrinfo.c,v 1.31 2000/08/31 17:36:43 itojun Exp $ */ | 2 | /* $KAME: getaddrinfo.c,v 1.31 2000/08/31 17:36:43 itojun Exp $ */ |
3 | 3 | ||
4 | /* | 4 | /* |
@@ -1745,7 +1745,7 @@ res_querydomainN(const char *name, const char *domain, | |||
1745 | struct __res_state *_resp = _THREAD_PRIVATE(_res, _res, &_res); | 1745 | struct __res_state *_resp = _THREAD_PRIVATE(_res, _res, &_res); |
1746 | char nbuf[MAXDNAME]; | 1746 | char nbuf[MAXDNAME]; |
1747 | const char *longname = nbuf; | 1747 | const char *longname = nbuf; |
1748 | size_t n; | 1748 | size_t len; |
1749 | 1749 | ||
1750 | if (_res_init(0) == -1) { | 1750 | if (_res_init(0) == -1) { |
1751 | h_errno = NETDB_INTERNAL; | 1751 | h_errno = NETDB_INTERNAL; |
@@ -1761,12 +1761,13 @@ res_querydomainN(const char *name, const char *domain, | |||
1761 | * Check for trailing '.'; | 1761 | * Check for trailing '.'; |
1762 | * copy without '.' if present. | 1762 | * copy without '.' if present. |
1763 | */ | 1763 | */ |
1764 | if ((n = strlcpy(nbuf, name, sizeof(nbuf))) >= sizeof(nbuf)) { | 1764 | len = strlcpy(nbuf, name, sizeof(nbuf)); |
1765 | if (len >= sizeof(nbuf)) { | ||
1765 | h_errno = NO_RECOVERY; | 1766 | h_errno = NO_RECOVERY; |
1766 | return (-1); | 1767 | return (-1); |
1767 | } | 1768 | } |
1768 | if (n > 0 && nbuf[n - 1] == '.') | 1769 | if (len > 0 && nbuf[len - 1] == '.') |
1769 | nbuf[n - 1] = '\0'; | 1770 | nbuf[len - 1] = '\0'; |
1770 | } else { | 1771 | } else { |
1771 | int i; | 1772 | int i; |
1772 | 1773 | ||