ieee802154: Fix memory leak in ieee802154_add_iface()
authorChristian Engelmayer <cengelma@gmx.at>
Sat, 11 Jan 2014 21:19:30 +0000 (22:19 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jan 2014 23:40:56 +0000 (15:40 -0800)
Fix a memory leak in the ieee802154_add_iface() error handling path.
Detected by Coverity: CID 710490.

Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ieee802154/nl-phy.c

index d08c7a4..89b265a 100644 (file)
@@ -221,8 +221,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
 
        if (info->attrs[IEEE802154_ATTR_DEV_TYPE]) {
                type = nla_get_u8(info->attrs[IEEE802154_ATTR_DEV_TYPE]);
-               if (type >= __IEEE802154_DEV_MAX)
-                       return -EINVAL;
+               if (type >= __IEEE802154_DEV_MAX) {
+                       rc = -EINVAL;
+                       goto nla_put_failure;
+               }
        }
 
        dev = phy->add_iface(phy, devname, type);