From: Florin Malita Date: Sat, 13 Oct 2007 17:03:38 +0000 (-0400) Subject: tehuti: possible leak in bdx_probe X-Git-Tag: v2.6.24-rc1~1281^2~15 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=bc2618f7528d4b6ea0c2c53539a3b8cff2b33b24;p=linux-2.6-omap-h63xx.git tehuti: possible leak in bdx_probe If pci_enable_device fails, bdx_probe returns without freeing the allocated pci_nic structure. Coverity CID 1908. Signed-off-by: Florin Malita Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c index 8d04654f0c5..4e1b84e6d66 100644 --- a/drivers/net/tehuti.c +++ b/drivers/net/tehuti.c @@ -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);