diff options
author | Christian Engelmayer <cengelma@gmx.at> | 2014-01-11 16:19:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-06 14:08:16 -0500 |
commit | 9ccbe0de27de9d387f480d7b721140aee68b25c4 (patch) | |
tree | e27a951d4d3430d0b71021f9ea1d988af66abf2c | |
parent | 72abb47c577499379a83a2f065d282936b4464f4 (diff) |
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>
-rw-r--r-- | net/ieee802154/nl-phy.c | 6 |
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, | |||
224 | 224 | ||
225 | if (info->attrs[IEEE802154_ATTR_DEV_TYPE]) { | 225 | if (info->attrs[IEEE802154_ATTR_DEV_TYPE]) { |
226 | type = nla_get_u8(info->attrs[IEEE802154_ATTR_DEV_TYPE]); | 226 | type = nla_get_u8(info->attrs[IEEE802154_ATTR_DEV_TYPE]); |
227 | if (type >= __IEEE802154_DEV_MAX) | 227 | if (type >= __IEEE802154_DEV_MAX) { |
228 | return -EINVAL; | 228 | rc = -EINVAL; |
229 | goto nla_put_failure; | ||
230 | } | ||
229 | } | 231 | } |
230 | 232 | ||
231 | dev = phy->add_iface(phy, devname, type); | 233 | dev = phy->add_iface(phy, devname, type); |