diff options
author | Alan Ott <alan@signal11.us> | 2012-11-29 18:25:10 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-30 12:19:24 -0500 |
commit | fcefbe9fcb3b0d72c91629f7fcf7ea09a46ab2c1 (patch) | |
tree | 7b68000fe15086df2037cf4dbb89242b77257a7f /net/mac802154/wpan.c | |
parent | b333b7e6ec210412be49d1dc67b62d4e565a0cd6 (diff) |
mac802154: fix memory leaks
kfree_skb() was not getting called in the case of some failures.
This was pointed out by Eric Dumazet.
Signed-off-by: Alan Ott <alan@signal11.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac802154/wpan.c')
-rw-r--r-- | net/mac802154/wpan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac802154/wpan.c b/net/mac802154/wpan.c index f30f6d4beea1..1191039c2b1b 100644 --- a/net/mac802154/wpan.c +++ b/net/mac802154/wpan.c @@ -327,8 +327,10 @@ mac802154_wpan_xmit(struct sk_buff *skb, struct net_device *dev) if (chan == MAC802154_CHAN_NONE || page >= WPAN_NUM_PAGES || - chan >= WPAN_NUM_CHANNELS) + chan >= WPAN_NUM_CHANNELS) { + kfree_skb(skb); return NETDEV_TX_OK; + } skb->skb_iif = dev->ifindex; dev->stats.tx_packets++; |