diff --git a/ChangeLog b/ChangeLog index 35d495429b..97354dacc4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ Changes in version 0.2.0.5-alpha - 2007-??-?? o Major bugfixes (compilation): - Try to fix win32 compilation again: Improve checking for ipv6 types. + - Fix compile on platforms without getaddrinfo: bug found by Li-Hui + Zhou. o Minor featuers (security): - Warn about unsafe ControlPort configurations. diff --git a/src/common/compat.c b/src/common/compat.c index 710854b1f3..0becc00be7 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -1128,11 +1128,11 @@ tor_addr_lookup(const char *name, uint16_t family, tor_addr_t *addr) if (ent) { addr->sa.sin_family = ent->h_addrtype; if (ent->h_addrtype == AF_INET) { - memcpy(addr->sa.sin_addr, ent->h_addr, sizeof(struct in_addr)); + memcpy(&addr->sa.sin_addr, ent->h_addr, sizeof(struct in_addr)); } else if (ent->h_addrtype == AF_INET6) { - memcpy(addr->sa.sin6_addr, ent->h_addr, sizeof(struct in6_addr)); + memcpy(&addr->sa6.sin6_addr, ent->h_addr, sizeof(struct in6_addr)); } else { - tor_assert(0) /* gethostbyname() returned a bizarre addrtype */ + tor_assert(0); /* gethostbyname() returned a bizarre addrtype */ } return 0; }