diff mbox

[net-next,1/4] qlcnic: Fix potential NULL dereference

Message ID 1364916883-10109-2-git-send-email-rajesh.borundia@qlogic.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Rajesh Borundia April 2, 2013, 3:34 p.m. UTC
[net-next:master 301/302] drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c:563
 qlcnic_set_multi() error: potential null dereference 'cur'. (kzalloc returns null)

o Break out of the loop after memory allocation failure. Program all the
  MAC addresses that were cached in the return path.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
index ddc130b..253b3ac 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
@@ -560,6 +560,8 @@  void qlcnic_set_multi(struct net_device *netdev)
 			netdev_for_each_mc_addr(ha, netdev) {
 				cur = kzalloc(sizeof(struct qlcnic_mac_list_s),
 					      GFP_ATOMIC);
+				if (cur == NULL)
+					break;
 				memcpy(cur->mac_addr,
 				       ha->addr, ETH_ALEN);
 				list_add_tail(&cur->list, &adapter->vf_mc_list);