diff options
author | Eric Sesterhenn <snakebyte@gmx.de> | 2006-10-10 17:41:43 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-10-25 18:12:34 -0400 |
commit | 0b3a82d391563da15df2b3a0d245d41748822489 (patch) | |
tree | 8a8f4dca400220aae6fbe2747ef0af895b570601 /drivers/scsi/lpfc/lpfc_ct.c | |
parent | 46c43db1eabcdc46ad9a3d711edff1d698ecd21f (diff) |
[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.c | 3 |
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, | |||
188 | 188 | ||
189 | if (!mp->virt) { | 189 | if (!mp->virt) { |
190 | kfree(mp); | 190 | kfree(mp); |
191 | lpfc_free_ct_rsp(phba, mlist); | 191 | if (mlist) |
192 | lpfc_free_ct_rsp(phba, mlist); | ||
192 | return NULL; | 193 | return NULL; |
193 | } | 194 | } |
194 | 195 | ||