Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e7c60cb authored by Geyslan G. Bem's avatar Geyslan G. Bem Committed by James Bottomley
Browse files

[SCSI] be2iscsi: fix memory leak in error path



There are two memory leaks in cases 'ISCSI_NET_PARAM_VLAN_ID' and
'ISCSI_NET_PARAM_VLAN_PRIORITY' and also a potential junk pointer free if
mgmt_get_if_info() returns error because if_info will be unset and it is stack
allocated.

Signed-off-by: default avatarGeyslan G. Bem <geyslan@gmail.com>
Cc: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 6634ff7c
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -541,10 +541,8 @@ static int be2iscsi_get_if_param(struct beiscsi_hba *phba,
		ip_type = BE2_IPV6;

	len = mgmt_get_if_info(phba, ip_type, &if_info);
	if (len) {
		kfree(if_info);
	if (len)
		return len;
	}

	switch (param) {
	case ISCSI_NET_PARAM_IPV4_ADDR:
@@ -569,7 +567,7 @@ static int be2iscsi_get_if_param(struct beiscsi_hba *phba,
		break;
	case ISCSI_NET_PARAM_VLAN_ID:
		if (if_info->vlan_priority == BEISCSI_VLAN_DISABLE)
			return -EINVAL;
			len = -EINVAL;
		else
			len = sprintf(buf, "%d\n",
				     (if_info->vlan_priority &
@@ -577,7 +575,7 @@ static int be2iscsi_get_if_param(struct beiscsi_hba *phba,
		break;
	case ISCSI_NET_PARAM_VLAN_PRIORITY:
		if (if_info->vlan_priority == BEISCSI_VLAN_DISABLE)
			return -EINVAL;
			len = -EINVAL;
		else
			len = sprintf(buf, "%d\n",
				     ((if_info->vlan_priority >> 13) &