From: Steven Barth Date: Wed, 19 Feb 2014 12:34:10 +0000 (+0100) Subject: Replace IN6_ARE_ADDR_EQUAL by memcmp to avoid unaligneds X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4b6fb015e3124ad1fbb266f70b5aea5c4d6cbc87;p=oweals%2Fodhcpd.git Replace IN6_ARE_ADDR_EQUAL by memcmp to avoid unaligneds --- diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index cca6664..b1931ef 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -719,13 +719,13 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status, if (ia->type == htons(DHCPV6_OPT_IA_PD)) { addr.s6_addr32[1] |= htonl(a->assigned); - if (IN6_ARE_ADDR_EQUAL(&p->addr, &addr) && + if (!memcmp(&p->addr, &addr, sizeof(addr)) && p->prefix == a->length) found = true; } else { addr.s6_addr32[3] = htonl(a->assigned); - if (IN6_ARE_ADDR_EQUAL(&n->addr, &addr)) + if (!memcmp(&n->addr, &addr, sizeof(addr))) found = true; } }