vxge: Fix a possible memory leak in vxge_hw_device_initialize().
authorSreenivasa Honnur <sreenivasa.honnur@exar.com>
Thu, 8 Apr 2010 08:44:39 +0000 (01:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Apr 2010 08:48:06 +0000 (01:48 -0700)
- Fix a possible memory leak in vxge_hw_device_initialize(). Free hldev if
vxge_hw_device_reg_addr_get() fails.

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@exar.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxge/vxge-config.c

index ec4408ceef1868063bb88bbe2ef1030dd910a03c..66dd5893c2d352d0f23208e3671adaf9b470dd07 100644 (file)
@@ -634,8 +634,10 @@ vxge_hw_device_initialize(
        __vxge_hw_device_pci_e_init(hldev);
 
        status = __vxge_hw_device_reg_addr_get(hldev);
-       if (status != VXGE_HW_OK)
+       if (status != VXGE_HW_OK) {
+               vfree(hldev);
                goto exit;
+       }
        __vxge_hw_device_id_get(hldev);
 
        __vxge_hw_device_host_info_get(hldev);