Re: Unidentified subject!
reassign 82468 glibc
thanks
> The problem is just sockaddr_in6{} is smaller than what glibc-2.2 expects.
> This patch hide the problem. Please try this instead.
This bug is problem in glibc. please apply this fix against glibc.
--- glibc-2.2.5/inet/getnameinfo.c Tue Jan 30 00:23:05 2001
+++ glibc-2.2.5-fix/inet/getnameinfo.c Sun Aug 4 01:15:42 2002
@@ -62,6 +62,13 @@
# define min(x,y) (((x) > (y)) ? (y) : (x))
#endif /* min */
+struct __sockaddr_in6_rfc2133
+ {
+ __SOCKADDR_COMMON (__sin6_);
+ in_port_t __sin6_port;
+ uint32_t __sin6_flowinfo;
+ struct in6_addr __sin6_addr;
+ };
static char *
internal_function
@@ -193,7 +200,7 @@
return EAI_FAMILY;
break;
case AF_INET6:
- if (addrlen < sizeof (struct sockaddr_in6))
+ if (addrlen < sizeof (struct __sockaddr_in6_rfc2133))
return EAI_FAMILY;
break;
default:
@@ -298,7 +305,8 @@
c = inet_ntop (AF_INET6,
(const void *) &sin6p->sin6_addr, host, hostlen);
- scopeid = sin6p->sin6_scope_id;
+ scopeid = (addrlen >= sizeof(struct sockaddr_in6)) ?
+ sin6p->sin6_scope_id : 0;
if (scopeid != 0)
{
/* Buffer is >= IFNAMSIZ+1. */
--yoshfuji
Reply to: