Sfoglia il codice sorgente

[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>
Eric Sesterhenn 18 anni fa
parent
commit
0b3a82d391
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      drivers/scsi/lpfc/lpfc_ct.c

+ 2 - 1
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;
 		}