From: Roy Marples Date: Mon, 27 Apr 2009 14:00:39 +0000 (+0000) Subject: Fix existing address detection. X-Git-Tag: v5.0.1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3949692e4d9061acb8cebcd002e2829dd085eaf5;p=thirdparty%2Fdhcpcd.git Fix existing address detection. --- diff --git a/dhcpcd.c b/dhcpcd.c index 11107daf..e4f0c511 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -562,7 +562,7 @@ handle_dhcp(struct interface *iface, struct dhcp_message **dhcpp) /* If the interface already has the address configured * then we can't ARP for duplicate detection. */ addr.s_addr = state->offer->yiaddr; - if (!has_address(iface->name, &addr, NULL)) { + if (has_address(iface->name, &addr, NULL) != 1) { state->claims = 0; state->probes = 0; state->conflicts = 0; diff --git a/net.c b/net.c index 432398d1..bce10d19 100644 --- a/net.c +++ b/net.c @@ -375,8 +375,8 @@ do_address(const char *ifname, if (ifa->ifa_addr->sa_family != AF_INET || strcmp(ifa->ifa_name, ifname) != 0) continue; - a = (const struct sockaddr_in *)(void *)&ifa->ifa_addr; - n = (const struct sockaddr_in *)(void *)&ifa->ifa_netmask; + a = (const struct sockaddr_in *)(void *)ifa->ifa_addr; + n = (const struct sockaddr_in *)(void *)ifa->ifa_netmask; if (ifa->ifa_flags & IFF_POINTOPOINT) d = (const struct sockaddr_in *)(void *) &ifa->ifa_dstaddr;