igb: Fix a memory leak in igb_probe

In error handling code of igb_probe, the memory adapter->shadow_vfta
allocated by kcalloc in igb_sw_init is not freed. So when register_netdev
or igb_init_i2c is failed, a memory leak will occur.
This patch adds kfree to fix it.

Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Jia-Ju Bai 2015-08-05 22:05:16 +08:00 committed by Jeff Kirsher
parent 0845d45e90
commit 42ad1a03b4

View file

@ -2649,6 +2649,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (hw->flash_address) if (hw->flash_address)
iounmap(hw->flash_address); iounmap(hw->flash_address);
err_sw_init: err_sw_init:
kfree(adapter->shadow_vfta);
igb_clear_interrupt_scheme(adapter); igb_clear_interrupt_scheme(adapter);
pci_iounmap(pdev, hw->hw_addr); pci_iounmap(pdev, hw->hw_addr);
err_ioremap: err_ioremap: