tehuti: possible leak in bdx_probe
authorFlorin Malita <fmalita@gmail.com>
Sat, 13 Oct 2007 17:03:38 +0000 (13:03 -0400)
committerJeff Garzik <jeff@garzik.org>
Mon, 15 Oct 2007 18:29:48 +0000 (14:29 -0400)
If pci_enable_device fails, bdx_probe returns without freeing the
allocated pci_nic structure.

Coverity CID 1908.

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/tehuti.c

index 8d04654f0c59ccb461db144ca79e2780cc2f75a7..4e1b84e6d66ab308330184a034ba7f52d82fb91a 100644 (file)
@@ -1906,7 +1906,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
     /************** pci *****************/
        if ((err = pci_enable_device(pdev)))    /* it trigers interrupt, dunno why. */
-               RET(err);                       /* it's not a problem though */
+               goto err_pci;                   /* it's not a problem though */
 
        if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
            !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
@@ -2076,6 +2076,7 @@ err_out_res:
        pci_release_regions(pdev);
 err_dma:
        pci_disable_device(pdev);
+err_pci:
        vfree(nic);
 
        RET(err);