aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorKulikov Vasiliy <segooon@gmail.com>2010-07-03 05:20:42 +0000
committerDavid S. Miller <davem@davemloft.net>2010-07-05 20:08:05 -0700
commit3390712a474abdcd3de10024dd1062e5928d381c (patch)
tree1089f92b86d040dbd50a8bb589910e465e152623 /drivers/net
parentxfrm: fix xfrm by MARK logic (diff)
downloadlinux-dev-3390712a474abdcd3de10024dd1062e5928d381c.tar.xz
linux-dev-3390712a474abdcd3de10024dd1062e5928d381c.zip
net/ne: fix memory leak in ne_drv_probe()
net_device allocated with alloc_eip_netdev() must be freed. Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ne.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ne.c b/drivers/net/ne.c
index b8e2923a1d69..1063093b3afc 100644
--- a/drivers/net/ne.c
+++ b/drivers/net/ne.c
@@ -806,8 +806,10 @@ static int __init ne_drv_probe(struct platform_device *pdev)
dev->base_addr = res->start;
dev->irq = platform_get_irq(pdev, 0);
} else {
- if (this_dev < 0 || this_dev >= MAX_NE_CARDS)
+ if (this_dev < 0 || this_dev >= MAX_NE_CARDS) {
+ free_netdev(dev);
return -EINVAL;
+ }
dev->base_addr = io[this_dev];
dev->irq = irq[this_dev];
dev->mem_end = bad[this_dev];