summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-02-14 13:08:54 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-02-14 13:08:54 -0800
commit01d13c153d312827a14b1adce6e83c2ac8456797 (patch)
tree445cbfd5db0666d53907e23432c844e9e7caedf3 /node
parentc17082a4f8a5819738b3af63757630dc1191d745 (diff)
downloadinfinitytier-01d13c153d312827a14b1adce6e83c2ac8456797.tar.gz
infinitytier-01d13c153d312827a14b1adce6e83c2ac8456797.zip
Fix compiler warnings in Linux build.
Diffstat (limited to 'node')
-rw-r--r--node/EthernetTap.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/node/EthernetTap.cpp b/node/EthernetTap.cpp
index bcb6a876..0c05b96a 100644
--- a/node/EthernetTap.cpp
+++ b/node/EthernetTap.cpp
@@ -613,11 +613,9 @@ std::set<InetAddress> EthernetTap::ips() const
case AF_INET6: {
struct sockaddr_in6 *sin = (struct sockaddr_in6 *)p->ifa_addr;
struct sockaddr_in6 *nm = (struct sockaddr_in6 *)p->ifa_netmask;
- r.insert(InetAddress(sin->sin6_addr.s6_addr,16,
- Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[0]) +
- Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[1]) +
- Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[2]) +
- Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[3])));
+ uint32_t b[4];
+ memcpy(b,nm->sin6_addr.s6_addr,sizeof(b));
+ r.insert(InetAddress(sin->sin6_addr.s6_addr,16,Utils::countBits(b[0]) + Utils::countBits(b[1]) + Utils::countBits(b[2]) + Utils::countBits(b[3])));
} break;
}
}