Use RTA_DATA() instead of rtattr_get_data().
This commit is contained in:
parent
f7de4a14fd
commit
3f267576ac
@ -385,12 +385,12 @@ static void ipbcpfx_clear_others_do(const struct nlmsghdr *nlh, void *data)
|
||||
goto erase;
|
||||
if (!tb[IFA_ADDRESS])
|
||||
goto erase;
|
||||
if (memcmp(rtattr_get_data(tb[IFA_ADDRESS]), &ipx->ipaddr,
|
||||
if (memcmp(RTA_DATA(tb[IFA_ADDRESS]), &ipx->ipaddr,
|
||||
sizeof ipx->ipaddr))
|
||||
goto erase;
|
||||
if (!tb[IFA_BROADCAST])
|
||||
goto erase;
|
||||
if (memcmp(rtattr_get_data(tb[IFA_BROADCAST]), &ipx->bcast,
|
||||
if (memcmp(RTA_DATA(tb[IFA_BROADCAST]), &ipx->bcast,
|
||||
sizeof ipx->bcast))
|
||||
goto erase;
|
||||
break;
|
||||
@ -404,8 +404,8 @@ static void ipbcpfx_clear_others_do(const struct nlmsghdr *nlh, void *data)
|
||||
erase:
|
||||
r = rtnl_addr_broadcast_send(ipx->fd, RTM_DELADDR, ifm->ifa_flags,
|
||||
ifm->ifa_scope,
|
||||
tb[IFA_ADDRESS] ? rtattr_get_data(tb[IFA_ADDRESS]) : NULL,
|
||||
tb[IFA_BROADCAST] ? rtattr_get_data(tb[IFA_BROADCAST]) : NULL,
|
||||
tb[IFA_ADDRESS] ? RTA_DATA(tb[IFA_ADDRESS]) : NULL,
|
||||
tb[IFA_BROADCAST] ? RTA_DATA(tb[IFA_BROADCAST]) : NULL,
|
||||
ifm->ifa_prefixlen);
|
||||
if (r < 0 && r != -2) {
|
||||
log_warning("%s: (%s) Failed to delete IP and broadcast addresses.",
|
||||
|
@ -106,7 +106,7 @@ static int get_if_index_and_mac(const struct nlmsghdr *nlh,
|
||||
struct rtattr *tb[IFLA_MAX] = {0};
|
||||
nl_rtattr_parse(nlh, sizeof *ifm, rtattr_assign, tb);
|
||||
if (tb[IFLA_IFNAME] && !strncmp(client_config.interface,
|
||||
rtattr_get_data(tb[IFLA_IFNAME]),
|
||||
RTA_DATA(tb[IFLA_IFNAME]),
|
||||
sizeof client_config.interface)) {
|
||||
client_config.ifindex = ifm->ifi_index;
|
||||
if (!tb[IFLA_ADDRESS])
|
||||
@ -116,8 +116,7 @@ static int get_if_index_and_mac(const struct nlmsghdr *nlh,
|
||||
suicide("FATAL: Adapter hardware address length should be 6, but is %u.",
|
||||
maclen);
|
||||
|
||||
const unsigned char *mac =
|
||||
(unsigned char *)rtattr_get_data(tb[IFLA_ADDRESS]);
|
||||
const unsigned char *mac = RTA_DATA(tb[IFLA_ADDRESS]);
|
||||
log_line("%s hardware address %x:%x:%x:%x:%x:%x",
|
||||
client_config.interface,
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
||||
|
@ -33,11 +33,6 @@
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
static inline void *rtattr_get_data(const struct rtattr *attr)
|
||||
{
|
||||
return (char *)RTA_DATA(attr);
|
||||
}
|
||||
|
||||
static inline int nlmsg_get_error(const struct nlmsghdr *nlh)
|
||||
{
|
||||
const struct nlmsgerr *err = NLMSG_DATA(nlh);
|
||||
|
Loading…
Reference in New Issue
Block a user