summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorChristian Engelmayer <cengelma@gmx.at>2014-01-12 01:19:30 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-06 23:22:20 +0400
commite41b2fe81655f70c20b964d7b184be1469391320 (patch)
treeece2c99b02c11fadc01cf1109e0b9adb9df363a6 /net
parentdafceed284787a69622553eb2316c60500d5efb3 (diff)
downloadlinux-e41b2fe81655f70c20b964d7b184be1469391320.tar.xz
ieee802154: Fix memory leak in ieee802154_add_iface()
[ Upstream commit 267d29a69c6af39445f36102a832b25ed483f299 ] 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/ieee802154/nl-phy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
index 22b1a7058fd3..4efd2375d7e1 100644
--- a/net/ieee802154/nl-phy.c
+++ b/net/ieee802154/nl-phy.c
@@ -224,8 +224,10 @@ static int ieee802154_add_iface(struct sk_buff *skb,
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);