summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_ct.c
diff options
context:
space:
mode:
authorEric Sesterhenn <snakebyte@gmx.de>2006-10-10 23:41:43 +0200
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-10-26 00:12:34 +0200
commit0b3a82d391563da15df2b3a0d245d41748822489 (patch)
tree8a8f4dca400220aae6fbe2747ef0af895b570601 /drivers/scsi/lpfc/lpfc_ct.c
parent[SCSI] scsi_lib.c: use BUILD_BUG_ON (diff)
downloadlinux-0b3a82d391563da15df2b3a0d245d41748822489.tar.xz
linux-0b3a82d391563da15df2b3a0d245d41748822489.zip
[SCSI] lpfc: check before dereference in lpfc_ct.c
If we fail to allocate mp->virt during the first while loop iteration, mlist is still uninitialized, therefore we should check if before dereferencing. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Acked-by: James Smart <James.Smart@Emulex.Com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_ct.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_ct.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_ct.c b/drivers/scsi/lpfc/lpfc_ct.c
index 1b53afb1cb57..3add7c237859 100644
--- a/drivers/scsi/lpfc/lpfc_ct.c
+++ b/drivers/scsi/lpfc/lpfc_ct.c
@@ -188,7 +188,8 @@ lpfc_alloc_ct_rsp(struct lpfc_hba * phba, int cmdcode, struct ulp_bde64 * bpl,
if (!mp->virt) {
kfree(mp);
- lpfc_free_ct_rsp(phba, mlist);
+ if (mlist)
+ lpfc_free_ct_rsp(phba, mlist);
return NULL;
}