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

Commit a0ee18b9 authored by Thomas Graf's avatar Thomas Graf Committed by David S. Miller
Browse files

[IPv4] fib: Fix out of bound access of fib_props[]



Fixes a typo which caused fib_props[] to have the wrong size
and makes sure the value used to index the array which is
provided by userspace via netlink is checked to avoid out of
bound access.

Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 954b2e7f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -493,6 +493,11 @@ static int rtm_to_fib_config(struct sk_buff *skb, struct nlmsghdr *nlh,
	cfg->fc_nlinfo.pid = NETLINK_CB(skb).pid;
	cfg->fc_nlinfo.nlh = nlh;

	if (cfg->fc_type > RTN_MAX) {
		err = -EINVAL;
		goto errout;
	}

	nlmsg_for_each_attr(attr, nlh, sizeof(struct rtmsg), remaining) {
		switch (attr->nla_type) {
		case RTA_DST:
+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ static const struct
{
	int	error;
	u8	scope;
} fib_props[RTA_MAX + 1] = {
} fib_props[RTN_MAX + 1] = {
	{
		.error	= 0,
		.scope	= RT_SCOPE_NOWHERE,