Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4565d7e5 authored by David Ahern's avatar David Ahern Committed by David S. Miller
Browse files

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: 8dfbda19 ("rtnetlink: Move input checking for rtnl_fdb_dump to helper")
Reported-by: default avatarChristian Brauner <christian@brauner.io>
Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 66077060
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -3857,7 +3857,6 @@ static int valid_fdb_dump_legacy(const struct nlmsghdr *nlh,
				 int *br_idx, int *brport_idx,
				 struct netlink_ext_ack *extack)
{
	struct ifinfomsg *ifm = nlmsg_data(nlh);
	struct nlattr *tb[IFLA_MAX+1];
	int err;

@@ -3871,6 +3870,8 @@ static int valid_fdb_dump_legacy(const struct nlmsghdr *nlh,
	if (nlmsg_len(nlh) != sizeof(struct ndmsg) &&
	    (nlmsg_len(nlh) != sizeof(struct ndmsg) +
	     nla_attr_size(sizeof(u32)))) {
		struct ifinfomsg *ifm;

		err = nlmsg_parse(nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX,
				  ifla_policy, extack);
		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]);
		}

		ifm = nlmsg_data(nlh);
		*brport_idx = ifm->ifi_index;
	}
	return 0;