From 773759d8c902912c077046a8f46836693f1efd30 Mon Sep 17 00:00:00 2001 From: shin Date: Thu, 13 Jan 2000 05:37:51 +0000 Subject: added IPv4 mapped IPv6 addr consideration for getaddrinfo() reverse lookup case --- lib/libc/net/getaddrinfo.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/libc') diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c index 3a415dd..17824f5 100644 --- a/lib/libc/net/getaddrinfo.c +++ b/lib/libc/net/getaddrinfo.c @@ -813,7 +813,10 @@ get_name(addr, afd, res, numaddr, pai, servname) hp = getipnodebyaddr(addr, afd->a_addrlen, afd->a_af, &h_error); if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) { - GET_AI(cur, afd, hp->h_addr_list[0]); + if (hp->h_addrtype == afd->a_af) + GET_AI(cur, afd, hp->h_addr_list[0]); + else /* IPv4 mapped IPv6 addr case */ + GET_AI(cur, afd, numaddr); GET_PORT(cur, servname); GET_CANONNAME(cur, hp->h_name); } else { -- cgit v1.1