rtnetlink: Move ifm in valid_fdb_dump_legacy to closer to use
Move setting of local variable ifm to after the message parsing in
valid_fdb_dump_legacy. Avoid potential future use of unchecked variable.
Fixes: 8dfbda19a2
("rtnetlink: Move input checking for rtnl_fdb_dump to helper")
Reported-by: Christian Brauner <christian@brauner.io>
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
66077060f8
commit
4565d7e5a3
|
@ -3857,7 +3857,6 @@ static int valid_fdb_dump_legacy(const struct nlmsghdr *nlh,
|
||||||
int *br_idx, int *brport_idx,
|
int *br_idx, int *brport_idx,
|
||||||
struct netlink_ext_ack *extack)
|
struct netlink_ext_ack *extack)
|
||||||
{
|
{
|
||||||
struct ifinfomsg *ifm = nlmsg_data(nlh);
|
|
||||||
struct nlattr *tb[IFLA_MAX+1];
|
struct nlattr *tb[IFLA_MAX+1];
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
@ -3871,6 +3870,8 @@ static int valid_fdb_dump_legacy(const struct nlmsghdr *nlh,
|
||||||
if (nlmsg_len(nlh) != sizeof(struct ndmsg) &&
|
if (nlmsg_len(nlh) != sizeof(struct ndmsg) &&
|
||||||
(nlmsg_len(nlh) != sizeof(struct ndmsg) +
|
(nlmsg_len(nlh) != sizeof(struct ndmsg) +
|
||||||
nla_attr_size(sizeof(u32)))) {
|
nla_attr_size(sizeof(u32)))) {
|
||||||
|
struct ifinfomsg *ifm;
|
||||||
|
|
||||||
err = nlmsg_parse(nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX,
|
err = nlmsg_parse(nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX,
|
||||||
ifla_policy, extack);
|
ifla_policy, extack);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
|
@ -3880,6 +3881,7 @@ static int valid_fdb_dump_legacy(const struct nlmsghdr *nlh,
|
||||||
*br_idx = nla_get_u32(tb[IFLA_MASTER]);
|
*br_idx = nla_get_u32(tb[IFLA_MASTER]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ifm = nlmsg_data(nlh);
|
||||||
*brport_idx = ifm->ifi_index;
|
*brport_idx = ifm->ifi_index;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue