diff options
author | Yaroslav Tykhiy <ytykhiy@gmail.com> | 2002-07-17 19:07:07 +0000 |
---|---|---|
committer | Yaroslav Tykhiy <ytykhiy@gmail.com> | 2002-07-17 19:07:07 +0000 |
commit | 4b4cc4c60b9c95b6e093cc95c12c2a8d10d5dcb6 (patch) | |
tree | 06c920ac972e9258df7119d9d2f89095f6bcdff7 /libexec | |
parent | 0055e2cd0bfea8141930898656b4838cf6274a76 (diff) | |
download | src-4b4cc4c60b9c95b6e093cc95c12c2a8d10d5dcb6.tar.gz src-4b4cc4c60b9c95b6e093cc95c12c2a8d10d5dcb6.zip |
Fix setting parameters for getipnodebyaddr(3):
o "struct addrinfo" contains a pointer to "struct sockaddr,"
not "struct sockaddr" itself
o the function takes a pointer to "struct in*_addr", not to
"struct sockaddr," so the address length must be corresponding
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=100259
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/ftpd/ftpd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index f758e95c83ed..f669020f123a 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -787,12 +787,12 @@ inithosts(void) /* XXX: getaddrinfo() can't do alias check */ switch(hrp->hostinfo->ai_family) { case AF_INET: - addr = &((struct sockaddr_in *)&hrp->hostinfo->ai_addr)->sin_addr; - addrsize = sizeof(struct sockaddr_in); + addr = &((struct sockaddr_in *)hrp->hostinfo->ai_addr)->sin_addr; + addrsize = sizeof(struct in_addr); break; case AF_INET6: - addr = &((struct sockaddr_in6 *)&hrp->hostinfo->ai_addr)->sin6_addr; - addrsize = sizeof(struct sockaddr_in6); + addr = &((struct sockaddr_in6 *)hrp->hostinfo->ai_addr)->sin6_addr; + addrsize = sizeof(struct in6_addr); break; default: /* should not reach here */ |