summaryrefslogtreecommitdiff
path: root/net/base/network_change_notifier_netlink_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/base/network_change_notifier_netlink_linux.cc')
-rw-r--r--net/base/network_change_notifier_netlink_linux.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/base/network_change_notifier_netlink_linux.cc b/net/base/network_change_notifier_netlink_linux.cc
index 493e17ae..439943e4 100644
--- a/net/base/network_change_notifier_netlink_linux.cc
+++ b/net/base/network_change_notifier_netlink_linux.cc
@@ -71,13 +71,16 @@ int InitializeNetlinkSocket() {
return -1;
}
- struct sockaddr_nl local_addr;
+ union {
+ struct sockaddr_nl local_addr;
+ struct sockaddr local_addr_generic;
+ };
memset(&local_addr, 0, sizeof(local_addr));
local_addr.nl_family = AF_NETLINK;
local_addr.nl_pid = getpid();
local_addr.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR |
RTMGRP_NOTIFY;
- int ret = bind(sock, reinterpret_cast<struct sockaddr*>(&local_addr),
+ int ret = bind(sock, &local_addr_generic,
sizeof(local_addr));
if (ret < 0) {
PLOG(ERROR) << "Error binding netlink socket";