platform: fix parsing RTA_MULTIHOP netlink attribute to use no policy
To parse the RTA_MULTIHOP message, "policy" is not right (which is used to parse the overall message). Instead, we don't really have a special policy that we should use. This was not a severe issue, because the allocated buffer (with G_N_ELEMENTS(policy) elements) was larger than need be. And apparently, using the wrong policy also didn't cause us to reject important messages.
This commit is contained in:
@@ -3467,12 +3467,12 @@ _new_from_nl_route(struct nlmsghdr *nlh, gboolean id_only)
|
|||||||
nh.ifindex = rtnh->rtnh_ifindex;
|
nh.ifindex = rtnh->rtnh_ifindex;
|
||||||
|
|
||||||
if (rtnh->rtnh_len > sizeof(*rtnh)) {
|
if (rtnh->rtnh_len > sizeof(*rtnh)) {
|
||||||
struct nlattr *ntb[G_N_ELEMENTS(policy)];
|
struct nlattr *ntb[RTA_GATEWAY + 1];
|
||||||
|
|
||||||
if (nla_parse_arr(ntb,
|
if (nla_parse_arr(ntb,
|
||||||
(struct nlattr *) RTNH_DATA(rtnh),
|
(struct nlattr *) RTNH_DATA(rtnh),
|
||||||
rtnh->rtnh_len - sizeof(*rtnh),
|
rtnh->rtnh_len - sizeof(*rtnh),
|
||||||
policy)
|
NULL)
|
||||||
< 0)
|
< 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user