sriov: fix crash in rtnl_link_sriov_parse_vflist

vf_vlan_info was incorrectly indexed with "len" (the length in bytes
of the entire vfinfo_list rather than list_len (the index of the
current end of the vf_vlan_info array)

https://github.com/thom311/libnl/issues/126
http://lists.infradead.org/pipermail/libnl/2017-January/002270.html

Fixes: 5d6e43ebef

Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
Laine Stump 2017-01-17 10:47:34 -05:00 committed by Thomas Haller
parent e2d8f05bd9
commit 2d11f40f50

View File

@ -568,7 +568,7 @@ int rtnl_link_sriov_parse_vflist(struct rtnl_link *link, struct nlattr **tb) {
list_len = 0;
nla_for_each_nested(nla_list, t[IFLA_VF_VLAN_LIST],
list_rem) {
vf_vlan_info[len] = nla_data(nla_list);
vf_vlan_info[list_len] = nla_data(nla_list);
list_len++;
}