diff options
author | Florin Malita <fmalita@gmail.com> | 2007-10-13 13:03:38 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-15 14:29:48 -0400 |
commit | bc2618f7528d4b6ea0c2c53539a3b8cff2b33b24 (patch) | |
tree | aae1d3769d1fa2c9bcbaef50bb08e1291f8b8cae | |
parent | 7e7b968a07022d6aa369b38b095570db241c7bea (diff) |
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 <fmalita@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/tehuti.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c index 8d04654f0c59..4e1b84e6d66a 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) | |||
1906 | 1906 | ||
1907 | /************** pci *****************/ | 1907 | /************** pci *****************/ |
1908 | if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */ | 1908 | if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */ |
1909 | RET(err); /* it's not a problem though */ | 1909 | goto err_pci; /* it's not a problem though */ |
1910 | 1910 | ||
1911 | if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) && | 1911 | if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) && |
1912 | !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) { | 1912 | !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) { |
@@ -2076,6 +2076,7 @@ err_out_res: | |||
2076 | pci_release_regions(pdev); | 2076 | pci_release_regions(pdev); |
2077 | err_dma: | 2077 | err_dma: |
2078 | pci_disable_device(pdev); | 2078 | pci_disable_device(pdev); |
2079 | err_pci: | ||
2079 | vfree(nic); | 2080 | vfree(nic); |
2080 | 2081 | ||
2081 | RET(err); | 2082 | RET(err); |