bridge: make buffer larger in br_setlink()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 7 Dec 2012 01:10:46 +0000 (01:10 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Dec 2012 18:31:30 +0000 (13:31 -0500)
We pass IFLA_BRPORT_MAX to nla_parse_nested() so we need
IFLA_BRPORT_MAX + 1 elements.  Also Smatch complains that we read past
the end of the array when in br_set_port_flag() when it's called with
IFLA_BRPORT_FAST_LEAVE.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c

index 850b7d1f3a4133e7ccdff686c5a3ee328c4d1b32..dead9dfe865b517247723d025cb0006cc5b44621 100644 (file)
@@ -239,7 +239,7 @@ int br_setlink(struct net_device *dev, struct nlmsghdr *nlh)
        struct ifinfomsg *ifm;
        struct nlattr *protinfo;
        struct net_bridge_port *p;
-       struct nlattr *tb[IFLA_BRPORT_MAX];
+       struct nlattr *tb[IFLA_BRPORT_MAX + 1];
        int err;
 
        ifm = nlmsg_data(nlh);