[2.4] Memleak on error exit path in Aironet 4500 Pcmcia driver

From: Oleg Drokin (green@linuxhacker.ru)
Date: Wed Mar 12 2003 - 14:15:54 EST


Hello!

    There is a memleak on OOM in Aironet 4500 Pcmcia driver,
    trivial to fix. See the patch.
    Found with help of smatch + enhanced unfree script.

Bye,
    Oleg

===== drivers/net/pcmcia/aironet4500_cs.c 1.8 vs edited =====
--- 1.8/drivers/net/pcmcia/aironet4500_cs.c Wed Aug 7 22:27:37 2002
+++ edited/drivers/net/pcmcia/aironet4500_cs.c Wed Mar 12 22:13:20 2003
@@ -282,7 +282,13 @@
         };
         memset(dev,0,sizeof(struct net_device));
         dev->priv = kmalloc(sizeof(struct awc_private), GFP_KERNEL);
- if (!dev->priv ) {printk(KERN_CRIT "out of mem on dev priv alloc \n"); return NULL;};
+ if (!dev->priv ) {
+ printk(KERN_CRIT "out of mem on dev priv alloc \n");
+ kfree(dev);
+ kfree(link->dev);
+ kfree(link);
+ return NULL;
+ }
         memset(dev->priv,0,sizeof(struct awc_private));
         
 // link->dev->minor = dev->minor;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Mar 15 2003 - 22:00:32 EST