qlcnic: Fix NULL dereference in error path.
o Fix for smatch tool reported error drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c:2029 qlcnic_probe() error: potential NULL dereference 'adapter'. o While returning from an error path in probe, adapter is not initialized. So do not access adapter in cleanup path. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d8fe3436df
commit
f1a094a830
1 changed files with 5 additions and 6 deletions
|
@ -546,11 +546,10 @@ void qlcnic_teardown_intr(struct qlcnic_adapter *adapter)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
qlcnic_cleanup_pci_map(struct qlcnic_adapter *adapter)
|
||||
static void qlcnic_cleanup_pci_map(struct qlcnic_hardware_context *ahw)
|
||||
{
|
||||
if (adapter->ahw->pci_base0 != NULL)
|
||||
iounmap(adapter->ahw->pci_base0);
|
||||
if (ahw->pci_base0 != NULL)
|
||||
iounmap(ahw->pci_base0);
|
||||
}
|
||||
|
||||
static int qlcnic_get_act_pci_func(struct qlcnic_adapter *adapter)
|
||||
|
@ -2026,7 +2025,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
free_netdev(netdev);
|
||||
|
||||
err_out_iounmap:
|
||||
qlcnic_cleanup_pci_map(adapter);
|
||||
qlcnic_cleanup_pci_map(ahw);
|
||||
|
||||
err_out_free_hw_res:
|
||||
kfree(ahw);
|
||||
|
@ -2083,7 +2082,7 @@ static void qlcnic_remove(struct pci_dev *pdev)
|
|||
|
||||
qlcnic_remove_sysfs(adapter);
|
||||
|
||||
qlcnic_cleanup_pci_map(adapter);
|
||||
qlcnic_cleanup_pci_map(adapter->ahw);
|
||||
|
||||
qlcnic_release_firmware(adapter);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue